RelativeLayout dentro de LinearLayout?
Me preguntaba qué estoy haciendo mal aquí, ¿por qué rodear estos botones en un RelativeLayout
causa un error? No he editado diseños mucho, ¿no puedo simplemente mantener un diseño relativo o lineal como ese?
Si no rodeo los botones en un diseño que aparecen debajo de uno al otro, estoy tratando de experimentar en tenerlos uno al lado del otro horizontalmente.
- Cómo utilizar el centro de una vista como un punto de referencia dentro de un RelativeLayout
- ¿Por qué recibo una CircularDependencyException?
- Cree un nuevo TextView mediante programación y luego muéstrelo debajo de otro TextView
- Error: (27) No se encontró ningún identificador de recurso para el atributo 'srcCompat' en el paquete 'com.example.jaisonjoseph.newsclient'
- Usando layout_alignBaseline y layout_alignBottom en RelativeLayout juntos
Creo que la forma en que he hecho todo este diseño es malo porque verticalmente parece bastante aplastado.
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/MainLayout" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <LinearLayout android:id="@+id/topButtons" android:layout_margin="4dip" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <Button android:id="@+id/deviceConnect" android:layout_margin="8dip" android:layout_weight="3" android:layout_width="fill_parent" android:layout_height="match_parent" android:text="Connect2"/> <LinearLayout android:orientation="vertical" android:layout_weight="1" android:layout_width="fill_parent" android:layout_height="wrap_content"> <LinearLayout android:orientation="horizontal" android:layout_margin="8dip" android:layout_width="wrap_content" android:layout_height="wrap_content"> <TextView android:text="Connected Adapter:" android:layout_gravity="center_vertical" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <Spinner android:id="@+id/deviceSpinner" android:layout_width="wrap_content" android:layout_height="wrap_content" android:drawSelectorOnTop="true"/> <TextView android:id="@+id/currentSettings" android:layout_marginLeft="8dip" android:text="Current Settings: Not Connected" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical"/> </LinearLayout> <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <LinearLayout android:orientation="horizontal" android:layout_margin="8dip" android:layout_weight="1" android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:text="Baud:" android:layout_gravity="center_vertical" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <Spinner android:id="@+id/baudSpinner" android:layout_width="fill_parent" android:layout_height="wrap_content" android:drawSelectorOnTop="true"/> </LinearLayout> <LinearLayout android:orientation="horizontal" android:layout_margin="8dip" android:layout_weight="1" android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:text="Data:" android:layout_gravity="center_vertical" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <Spinner android:id="@+id/dataSpinner" android:layout_width="fill_parent" android:layout_height="wrap_content" android:drawSelectorOnTop="true"/> </LinearLayout> <LinearLayout android:orientation="horizontal" android:layout_margin="8dip" android:layout_weight="1" android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:text="Parity:" android:layout_gravity="center_vertical" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <Spinner android:id="@+id/paritySpinner" android:layout_width="fill_parent" android:layout_height="wrap_content" android:drawSelectorOnTop="true"/> </LinearLayout> <LinearLayout android:orientation="horizontal" android:layout_margin="8dip" android:layout_weight="1" android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:text="Stop:" android:layout_gravity="center_vertical" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <Spinner android:id="@+id/stopSpinner" android:layout_width="fill_parent" android:layout_height="wrap_content" android:drawSelectorOnTop="true"/> </LinearLayout> </LinearLayout> </LinearLayout> <Button android:id="@+id/updateSettings" android:layout_margin="8dip" android:layout_weight="3" android:layout_width="fill_parent" android:layout_height="match_parent" android:text="Update\nSettings"/> </LinearLayout> <RelativeLayout> <Button android:id="@+id/Command" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Test Command"/> <Button android:id="@+id/Command" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Test Command"/> <Button android:id="@+id/Command" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Test Command"/> <Button android:id="@+id/Command" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Test Command"/> <Button android:id="@+id/Command" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Test Command"/> </RelativeLayout> <jackpal.androidterm.emulatorview.EmulatorView android:id="@+id/emulatorView" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:focusable="true" android:focusableInTouchMode="true" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="0" android:orientation="horizontal" > <EditText android:id="@+id/term_entry" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:singleLine="true" android:imeOptions="actionNone|flagNoExtractUi" android:inputType="text|textImeMultiLine" /> <Button android:id="@+id/term_entry_send" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="0" android:text="@string/entry_send" /> </LinearLayout>
- RelativaLayout TextView superposición
- ¿Cómo puedo hacer cumplir una referencia circular en un RelativeLayout?
- Añadir dinámicamente una vista al diseño de la actividad
- Problemas con <include> en un diseño relativo, vistas siempre en la parte superior
- Android RelativeLayout alinear preocupación
- Android: layout_centerInParent no funciona
- Alineación de fragmentos con RelativeLayout
- ¿Cómo obtengo el siguiente resultado utilizando RelativeLayout?
Como otros han señalado ya, usted necesita definir un layout_width
y layout_height
para su RelativeLayout
. Esto debería corregir el error, a menos que haya otros problemas que tenga. Pero pensé que valía la pena señalar lo que dice el DOCS sobre los diseños
Un RelativeLayout es una utilidad muy poderosa para diseñar una interfaz de usuario porque puede eliminar grupos de vistas anidadas y mantener la jerarquía de diseño plana, lo que mejora el rendimiento. Si se encuentra utilizando varios grupos anidados LinearLayout, es posible que pueda reemplazarlos por un único RelativeLayout.
Usted tiene muchos anidados LinearLayout
s por lo que puede considerar el uso de un RelativeLayout
para un mejor rendimiento y legibilidad. También puede usar android:orientation="horizontal"
en un LinearLayout
anidado para obtener sus botones al lado del otro. Pero, de nuevo, un RelativeLayout
puede ser mejor en su situación en lugar de tener todos los diseños anidados.
Tu pariente relativo no tiene tamaño.
Definir layout_height y layout_width a ello
<RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content">