Los niños en el diseño lineal con igual relleno
Actualmente estoy diseñando una ButtonBar con 5 botones (todos ellos serán ImageButtons, pero por ahora, sólo 3 de ellos son). Este es mi primer proyecto androide, así que estoy aprendiendo a medida que avanzamos. Estoy tratando de ponderar cada botón por igual, sin escalarlos (tienen igual relleno en vez de ancho igual). Este es mi código hasta ahora:
<LinearLayout android:id="@+id/back" android:orientation="horizontal" android:layout_height="50dip" android:layout_width="fill_parent" android:layout_alignParentBottom="true" android:background="#000000" style="@android:style/ButtonBar" android:weightSum="5" > <ImageButton android:id="@+id/info_button" android:padding="20dp" android:background="@drawable/info" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_weight="1" /> <Button android:id="@+id/wishlist_button" android:text="@string/wish_label" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_weight="1" android:padding="20dp" android:textSize="15dip" android:textColor="#b7b7b7"></Button> <Button android:id="@+id/buy_button" android:text="@string/buy_label" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_weight="1" android:padding="20dp" android:textSize="15dip" android:textColor="#b7b7b7"/> <ImageButton android:id="@+id/dislike_button" android:padding="20dp" android:background="@drawable/dislike_button" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_weight="1" /> <ImageButton android:id="@+id/like_button" android:padding="20dp" android:background="@drawable/like_button" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_weight="1" />
Esto es lo que parece ahora: estirado ponderado: http://i.imgur.com/MAfjp.png
- Escala de un dibujable dentro de un botón?
- Vista personalizada en la disposición xml
- Cómo poner 9 botones en 3 filas en el diseño de Android xml?
- Recursos de Android ¿Por qué java piensa que la cadena es un número entero?
- Java.lang.UnsupportedOperationException: No se puede convertir a dimension: type = 0x12
Esto es lo que quiero que parezca (de cerca): no estirado igualmente acolchado: http://i.imgur.com/vXTEy.png
Gracias por ayudar. He estado buscando la respuesta por un tiempo y ya he intentado mucho.
- Establecer tiempo de espera en URL.openStream () Android
- ¿Es posible intercambiar diseños XML durante el tiempo de ejecución en Android?
- Diseño de cuadrícula de botones 2x2
- Constantes de diseño XML de Android
- Android Porcentaje Altura de diseño
- ¿Debo usar Java o XML para diseños de Android?
- Repita un diseño complejo para cada registro
- ¿Es concatenación de cadenas de recursos / concatenación de cadenas, posible en el archivo de diseño?
Aquí está:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/back" android:orientation="horizontal" android:layout_height="50dip" android:layout_width="fill_parent" android:layout_alignParentBottom="true" android:background="#000000" style="@android:style/ButtonBar" android:gravity="center" > <ImageButton android:id="@+id/info_button" android:background="@null" android:src="@drawable/info" android:layout_height="wrap_content" android:layout_width="fill_parent" android:layout_weight="1" /> <Button android:id="@+id/wishlist_button" android:text="@string/wish_label" android:background="@null" android:layout_height="wrap_content" android:layout_width="fill_parent" android:layout_weight="1" android:textSize="15dip" android:textColor="#b7b7b7"></Button> <Button android:id="@+id/buy_button" android:text="@string/buy_label" android:background="@null" android:layout_height="wrap_content" android:layout_width="fill_parent" android:layout_weight="1" android:textSize="15dip" android:textColor="#b7b7b7"/> <ImageButton android:id="@+id/dislike_button" android:background="@null" android:src="@drawable/dislike_button" android:layout_height="wrap_content" android:layout_width="fill_parent" android:layout_weight="1" /> <ImageButton android:id="@+id/like_button" android:background="@null" android:src="@drawable/like_button" android:layout_height="wrap_content" android:layout_width="fill_parent" android:layout_weight="1" /> </LinearLayout>
No sé cómo el estilo = "@ android: estilo / ButtonBar" se fija, así que si no se muestra correctamente intente quitarlo.
Puede agregar un elemento espaciador entre cada una de las imágenes / botones y asignar el layout_weight a los elementos espaciadores en lugar de las imágenes / botones. Así que se vería algo como esto:
<LinearLayout android:id="@+id/back" android:orientation="horizontal" android:layout_height="50dip" android:layout_width="fill_parent" android:layout_alignParentBottom="true" android:background="#000000" style="@android:style/ButtonBar" > <ImageButton android:id="@+id/info_button" android:padding="20dp" android:background="@drawable/info" android:layout_height="wrap_content" android:layout_width="wrap_content" /> <LinearLayout android:layout_height="wrap_content" android:layout_weight="1" /> /> <Button android:id="@+id/wishlist_button" android:text="@string/wish_label" android:layout_height="wrap_content" android:layout_width="wrap_content" android:padding="20dp" android:textSize="15dip" android:textColor="#b7b7b7"></Button> <LinearLayout android:layout_height="wrap_content" android:layout_weight="1" /> <Button android:id="@+id/buy_button" android:text="@string/buy_label" android:layout_height="wrap_content" android:layout_width="wrap_content" android:padding="20dp" android:textSize="15dip" android:textColor="#b7b7b7"/> <LinearLayout android:layout_height="wrap_content" android:layout_weight="1" /> <ImageButton android:id="@+id/dislike_button" android:padding="20dp" android:background="@drawable/dislike_button" android:layout_height="wrap_content" android:layout_width="wrap_content" /> <LinearLayout android:layout_height="wrap_content" android:layout_weight="1" /> <ImageButton android:id="@+id/like_button" android:padding="20dp" android:background="@drawable/like_button" android:layout_height="wrap_content" android:layout_width="wrap_content" /> </LinearLayout>
Esto puede no ser la solución más elegante, ya que añade varias vistas a su diseño, pero ha funcionado para mí en el pasado.
Usted debe considerar el uso de sólo botón de imagen con imágenes de igual tamaño con el mismo peso dentro de su LinearLayout.
Saludos, Stéphane