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.
- Compatibilidad de diseño de material a versiones bajo Android 5.0?
- Diseño de patrón de diseño de cajón de navegación
- Botón CardView y el texto no alineado
- Convertir colorPrimary a colorPrimaryDark (cuánto más oscuro)
- ¿Cuál es el "color de acento"?
- EdgeEffect en AppBarLayout
- Cómo eliminar la sombra de material de ToggleButton?
- El atributo "barLength" ya ha sido definido
- Cómo implementar / utilizar el tipo dinámico en el diseño de material de Android
- Diseño de material para la subclase de EditText
- Cambiar el color del icono de la barra de navegación en Android
- La barra de herramientas se superpone debajo de la barra de estado
- Porcentaje de color en Android para el diseño del material
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
- Modificación retroactiva de caracteres especiales
- Efecto deslizante en Titanio de izquierda a derecha