¿Por qué los botones multilínea en gridlayout tienen margen superior extraño?
Tengo este diseño:
<LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#FF2c3e50"> <FrameLayout android:layout_width="300px" android:layout_height="5px" android:background="#FF4a80c2" > </FrameLayout> <HorizontalScrollView android:layout_width="wrap_content" android:layout_height="match_parent" android:overScrollMode="never"> <GridLayout android:layout_width="match_parent" android:layout_height="match_parent" android:rowCount="2" android:orientation="vertical" android:padding="50px"> <Button android:layout_marginBottom="20px" android:layout_marginRight="20px" android:lines="2" android:textColor="#fff3f3f3" android:layout_width="165px" android:layout_height="165px" android:text="zrušit bez zápisu" android:gravity="center" android:textStyle="bold" android:padding="10px" android:textSize="24px" android:background="@drawable/cancel_button"/> <Button android:layout_marginBottom="20px" android:layout_marginRight="20px" android:lines="2" android:textColor="#fff3f3f3" android:layout_width="165px" android:layout_height="165px" android:text="odchod" android:gravity="center" android:textStyle="bold" android:textSize="24px" android:padding="10px" android:background="@drawable/type_button_default"/> <Button android:layout_marginBottom="20px" android:lines="2" android:layout_marginRight="20px" android:textColor="#fff3f3f3" android:layout_width="165px" android:layout_height="165px" android:text="nemoc" android:padding="10px" android:gravity="center" android:textStyle="bold" android:textSize="24px" android:background="@drawable/type_button"/> <Button android:layout_marginBottom="20px" android:layout_marginRight="20px" android:lines="2" android:textColor="#fff3f3f3" android:layout_width="165px" android:layout_height="165px" android:text="lékař" android:padding="10px" android:gravity="center" android:textStyle="bold" android:textSize="24px" android:background="@drawable/type_button"/> <Button android:layout_marginBottom="20px" android:layout_marginRight="20px" android:lines="2" android:textColor="#fff3f3f3" android:layout_width="165px" android:layout_height="165px" android:padding="10px" android:text="pracovní cesta" android:gravity="center" android:textStyle="bold" android:textSize="24px" android:background="@drawable/type_button"/> <Button android:layout_marginBottom="20px" android:lines="2" android:layout_marginRight="20px" android:textColor="#fff3f3f3" android:layout_width="165px" android:layout_height="165px" android:padding="10px" android:text="školení" android:gravity="center" android:textStyle="bold" android:textSize="24px" android:background="@drawable/type_button"/> <Button android:layout_marginBottom="20px" android:lines="2" android:layout_marginRight="20px" android:textColor="#fff3f3f3" android:layout_width="165px" android:layout_height="165px" android:padding="10px" android:text="neplacené volno" android:gravity="center" android:textStyle="bold" android:textSize="24px" android:background="@drawable/type_button"/> <Button android:layout_marginBottom="20px" android:lines="2" android:layout_marginRight="20px" android:textColor="#fff3f3f3" android:layout_width="165px" android:layout_height="165px" android:text="volno" android:padding="10px" android:gravity="center" android:textStyle="bold" android:textSize="24px" android:background="@drawable/type_button"/> <Button android:layout_marginBottom="20px" android:lines="2" android:layout_marginRight="20px" android:textColor="#fff3f3f3" android:layout_width="165px" android:layout_height="165px" android:padding="10px" android:text="náhradní volno" android:gravity="center" android:textStyle="bold" android:textSize="24px" android:background="@drawable/type_button"/> </GridLayout> </HorizontalScrollView> </LinearLayout>
Cuando tengo botones de varias líneas en el diseño de la cuadrícula, que están extrañamente posicionado. Mira la imagen adjunta.
- Cómo poner un botón entre dos diseños
- Android: Cómo detectar el clic en el elemento personalizado de SearchView
- Dispositivos de pan de jengibre que no utilizan el estilo Holo de Theme.AppCompat (biblioteca de soporte)
- Android: Alinear el fondo principal + el margen inferior mediante programación
- ¿Cómo dar dos enlaces para móviles y tabletas en la vista web?
¿Puede alguien decir lo que sucede aquí?
- ¿Por qué el margen anula marginLeft en Android (mismo con radio, etc)?
- Cómo dar frontera para tablerow en tablelayout en android?
- Detectar si TextView abarca más de 2 líneas
- Hacer una vista de ancho completo con un ListAdapter
- XML predeterminado para la notificación de estado
- Android Phonegap y Fragmentos
- Capacidad de ActionBar / desbordamiento que no cambia en cambio de orientación
- ¿Cómo desarrollar una caminata a través del diálogo que aparece en el primer lanzamiento?
Encontré donde está el problema. Todos los botones deben tener layout_gravity
también. Todo lo que se necesita es añadir android:layout_gravity="center"
a todos los botones.
Tuve el mismo problema dentro de un LinearLayout. Un colega mío señaló que este es Android tratando de alinear la línea de base del texto. Para desactivar este comportamiento, utilice android:baselineAligned="false"
en el diseño padre.
- File.canWrite () dice "true" pero no puedo escribir en almacenamiento extraíble (kit kat)
- Android: Layout de enlace con Dynamic Sublayout (ViewHolder & SubViewHolder)