Valor máximo negativo de Android en ScrollView

Había intentado dar el valor negativo del marginTop al niño dentro del scrollview. Pero no se estaba alineando como se esperaba. Estaba ocultando debajo de la disposición que está sobre el scrollview. Quiero lograr el diseño que mencioné en Captura de pantalla. Particularmente el logotipo que flotaba 75% en banner y 25% debajo de banner. ¿Podría alguien dar sus ideas para eso.

Estaba usando la biblioteca de diseño de soporte de Android más reciente.

Introduzca aquí la descripción de la imagen

Acabo de implementar el mismo diseño de diseño. Me gustaría compartirlo con ustedes. Espero que te ayude.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#FFFFFF"> <LinearLayout android:id="@+id/layoutActionbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/actionbar_background" android:orientation="horizontal"> <TextView android:id="@+id/txtBack" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:background="@mipmap/back" /> <TextView android:id="@+id/lblHeader" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="left|center" android:layout_margin="5dp" android:text="" android:textColor="#FFFFFF" android:textSize="18sp" android:textStyle="bold" /> </LinearLayout> <RelativeLayout android:id="@+id/layoutTop" android:layout_width="match_parent" android:layout_height="200dp" android:layout_below="@+id/layoutActionbar" android:background="#F0F0F0" android:gravity="center"> <TextView android:id="@+id/txtTitle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@+id/txtSubTitle" android:layout_centerHorizontal="true" android:gravity="center" android:lines="2" android:paddingLeft="50dp" android:paddingRight="50dp" android:text="" android:textSize="20sp" /> <TextView android:id="@+id/txtSubTitle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:lines="2" android:paddingLeft="50dp" android:paddingRight="50dp" android:text="" android:textSize="20sp" /> </RelativeLayout> <RelativeLayout android:id="@+id/layoutBottom" android:layout_width="match_parent" android:layout_height="0dp" android:layout_alignParentBottom="true" android:layout_below="@id/layoutTop"> <ScrollView android:layout_width="match_parent" android:layout_height="wrap_content"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_alignParentTop="true" android:layout_marginLeft="22dp" android:layout_marginStart="22dp" android:layout_marginTop="40dp" android:text="ADDITIONAL INFORMATION" android:textAppearance="?android:attr/textAppearanceMedium" android:textColor="#007DCE" /> <TextView android:id="@+id/txtDescreiption" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="22dp" android:layout_marginRight="15dp" android:layout_marginTop="15dp" android:text="" android:textAppearance="?android:attr/textAppearanceSmall" /> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_alignParentTop="true" android:layout_marginLeft="22dp" android:layout_marginStart="22dp" android:layout_marginTop="20dp" android:text="SOURCES and LINKS" android:textAppearance="?android:attr/textAppearanceMedium" android:textColor="#007DCE" /> <TextView android:id="@+id/txtWebsites" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="22dp" android:layout_marginRight="15dp" android:layout_marginTop="10dp" android:layout_marginBottom="10dp" android:autoLink="web" android:text="" android:textAppearance="?android:attr/textAppearanceSmall" /> </LinearLayout> </ScrollView> </RelativeLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="40dp" android:layout_above="@id/layoutBottom" android:layout_centerHorizontal="true" android:layout_marginBottom="-20dp" android:adjustViewBounds="true" android:background="#F0F0F0"> <ImageView android:id="@+id/favImage" android:layout_width="wrap_content" android:layout_height="40dp" android:src="@mipmap/ic_favourite_selected" /> </LinearLayout> </RelativeLayout> 

¿Qué tal jugar con pesas?

  <ScrollView ...> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:weightSum="1" android:orientation="vertical" > <ImageView <!-- android:layout_marginTop="40dp" --> android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="0.75" android:src="@drawable/ic_goeuro_logo"/> <ImageView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="0.25" android:src="@drawable/placeholder_logo" /> </LinearLayout> </ScrollView> 

Puede lograr este efecto utilizando un RelativeLayout con un fondo transparent .

El icono en la parte superior es el elemento superior en el diseño y la lista está debajo. En el código sudo podría parecer algo así

 <RelativeLayout android:background="@background/myBannerImage" ...> <RelativeLayout android:marginTop="100dp" android:background="@color/transparent" ...> <ImageView android:centerInParent="true" android:elevation="15dp" .../> <LinearLayout android:elevation="5dp" android:centerInParent="true" android:marginTop="25dp" // depends on your image android:background="@color/white" ...> <!-- all the other views --> </LinearLayout> </RelativeLayout> </RelativeLayout> 

Si su problema es que una vista se superpone a la otra mientras que debe ser lo contrario, puede utilizar un FrameLayout , donde el orden de la View en la parte superior depende del orden en el que defina su View en el archivo de diseño XML. Si usted tiene

 <FrameLayout ...> <View id="@+id/viewA" ... /> <View id="@+id/viewB" ... /> </FrameLayout> 

Entonces la vista B estará en la parte superior de la vista A.

FrameLayout con ScrollView y cualquier otra View , sólo ScrollView debe responder a TouchEvent y Focus el resto de la View se puede colocar en su ubicación preferida

Siempre se puede caer en FrameLayout.bringChildToFront(View v) para cambiar el orden Z

  • TabLayout se bloquea después de actualizar la biblioteca de soporte a 23.2.1
  • Quitar sombra de la barra de herramientas cuando el cajón de navegación está abierto - Biblioteca de soporte de diseño de material
  • El contenido aparece detrás de la barra de navegación opaca cuando la barra de acción es transparente
  • Cómo utilizar ActionBarActivity con Theme.Material
  • ¿Cómo hacer una barra de herramientas Android más grande con opciones avanzadas?
  • Cambiar el color de la vista pero mantener el estado de ondulación y tacto
  • Android Confirmación de diálogo en pantalla completa y acciones desdeñosas
  • Hexcode diferencia entre el color primario y colorPrimaryDark?
  • Configuración del color del encabezado en el nuevo Material DatePicker
  • Cambiar layout_scrollFlags de forma programática en CollapsingToolbarLayout
  • Android Error de diseño de material
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.