Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


¿Por qué no puedo anular las propiedades de diseño de los diseños incluidos en mi proyecto de Android?

Estoy tratando de crear algunos elementos de interfaz de usuario modular como se describe en Android Developers – Creación de componentes de interfaz de usuario reutilizables , por desgracia no estoy obteniendo el resultado deseado. El artículo dice:

Puede anular todos los parámetros de diseño. Esto significa que cualquier atributo android: layout_ * se puede usar con la etiqueta.

Mi código XML se parece a esto (partes relevantes):

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <include android:id="@+id/radio_group" layout="@layout/radio_buttons" android:layout_marginTop="75dp" /> <include android:id="@+id/player_group" layout="@layout/player_buttons" android:layout_alignParentBottom="true" /> <EditText android:id="@+id/text_field" android:singleLine="true" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="Enter Your Login ID:" android:layout_below="@id/player_group" /> 

Aquí está el primero de los diseños incluidos:

 <RadioGroup xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/radio_group" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:layout_marginTop="20dp" android:layout_marginLeft="20dp" android:layout_marginBottom="20dp" > <RadioButton android:id="@+id/radio01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Song #1" android:paddingLeft="45dp" /> [two more identical buttons] <TextView android:id="@+id/choice" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="you have selected:"/> </RadioGroup> 

y el otro:

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content"> <Button android:text="btn01" android:id="@+id/Button01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center_horizontal" /> <Button android:text="@+id/Button02" android:id="@+id/Button02" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center_horizontal" /> <Button android:text="Start Playing" android:id="@+id/startPlayerBtn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center_horizontal" android:onClick="doClick" /> </LinearLayout> 

Desafortunadamente – esto da como resultado que todos los elementos de interfaz de usuario incluidos se agrupan unos encima de otros en la parte superior de la pantalla. El elemento EditText se alinea correctamente, pero ninguno de los elementos incluidos responderá a los atributos sobrescritos. He intentado un número de diferentes con los mismos no resultados.

Nota: También intenté poner un parámetro de android:layout_alignParentBottom="true" en las presentaciones incluidas pensando que podría necesitar estar ahí para ser reemplazado, pero obtuvo el mismo resultado.

También – el parámetro marginTop no hace nada tampoco.

Entonces, ¿alguna idea de lo que estoy haciendo mal? ¡Esto me está volviendo loca!

Nota: se hizo una pregunta hace poco sobre cómo diseñar los diseños incluidos, la respuesta fue una referencia a la página sobre componentes de interfaz de usuario reutilizables. Sólo quiero decir que he leído esa pregunta y la respuesta y no ha ayudado.

One Solution collect form web for “¿Por qué no puedo anular las propiedades de diseño de los diseños incluidos en mi proyecto de Android?”

Hay un error cuando se utiliza include donde los layouts incluidos no se colocan correctamente a menos que se especifiquen valores para android:layout_width y android:layout_height . Prueba esto:

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <include android:id="@+id/radio_group" layout="@layout/radio_buttons" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="75dp" /> <include android:id="@+id/player_group" layout="@layout/player_buttons" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@id/radio_group" /> <EditText android:id="@+id/text_field" android:singleLine="true" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="Enter Your Login ID:" android:layout_below="@id/player_group" /> 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.