studio sirve radiogroup radiobutton que para checklist agrupar android radio-button radio-group cellspacing

sirve - ¿Cómo espaciar uniformemente los botones de radio en Android?



radiobutton android checked (2)

Tengo tres botones de radio y quiero espaciarlos uniformemente en la pantalla. Cuando uso android:layout_weight="1" , los botones se estiran en la pantalla. Entonces, ¿cómo tendría la misma cantidad de espacio entre cada uno de ellos que también se adapta a diferentes tamaños de pantalla?

<RadioGroup android:id="@+id/auton_bar" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:paddingLeft="10dp" android:layout_below="@id/clear_fields" > <RadioButton android:id="@+id/auton_radio_1" android:layout_height="wrap_content" android:layout_width="wrap_content" android:background="@drawable/auton_col" android:layout_weight="1" /> <!-- android:layout_marginRight="380dp" --> <RadioButton android:id="@+id/auton_radio_2" android:layout_height="wrap_content" android:layout_width="wrap_content" android:background="@drawable/auton_col" android:layout_weight="1" /> <RadioButton android:id="@+id/auton_radio_3" android:layout_height="wrap_content" android:layout_width="wrap_content" android:background="@drawable/auton_col" android:layout_weight="1" /> </RadioGroup>


Noté que el uso de ponderaciones de diseño para los botones RadioB hizo que se alinearan fuera del centro, a pesar de que definitivamente compartieron el 50% de la pantalla (estaban alineados a la izquierda). El establecimiento de una gravedad para cada RadioButton provocó que solo el texto estuviera centrado / facepalm

El XML a continuación muestra cómo alinear horizontalmente dos botones de radio (podría ser cualquier vista) y centrarlos:

<RadioGroup android:id="@+id/radiogroup" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <Space android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1"/> <RadioButton android:id="@+id/radioyes" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/yes" android:checked="false"/> <Space android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1"/> <RadioButton android:id="@+id/radiono" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/no" android:checked="false"/> <Space android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1"/> </RadioGroup>


Si desea que compartan el ancho de la pantalla por igual, debe configurar android:layout_width="match_parent" en cada View . Tu xml se convertiría en:

<RadioGroup android:id="@+id/auton_bar" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/clear_fields" android:orientation="horizontal" android:paddingLeft="10dp" > <RadioButton android:id="@+id/auton_radio_1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/auton_col" /> <!-- android:layout_marginRight="380dp" --> <RadioButton android:id="@+id/auton_radio_2" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/auton_col" /> <RadioButton android:id="@+id/auton_radio_3" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:background="@drawable/auton_col" /> </RadioGroup>

Para elaborar, layout_weight se puede utilizar de dos maneras.

  • Si tiene varias vistas en un diseño lineal vertical y desea que la última ocupe todo el espacio restante, puede establecer sus alturas en wrap_content y dar a la última vista un peso de 1.
  • Si desea que todas las vistas compartan el espacio disponible, establezca todos los anchos / alturas en 0dp o match_parent y match_parent a cada vista el mismo valor de peso. Ellos compartirán el espacio por igual.

Para tener una escala dibujable de fondo, cree un nuevo xml que vaya en su carpeta drawable/ tenga este aspecto

<?xml version="1.0" encoding="utf-8"?> <bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:gravity="center" android:src="@drawable/auton_col" />

Dale el nombre que desees (por ejemplo, auton_col_scale.xml) y haz referencia a ese dibujo como fondo.