TextViews en la parte superior e inferior, el espacio restante lleno de ListView
Estoy tratando de poner un TextView en la parte superior, otro en la parte inferior, y un ListView entre usando el espacio restante. Sin embargo, mi ListView está llevando todo el espacio al fondo, haciendo que el último TextView no aparezca. La única manera que puedo hacer que aparezca es darle al ListView una altura fija, como 100dp.
Mi diseño:
- Evitar que CAB aparezca en la selección de texto de EditText
- Comportamiento impar: Tipo de clase del objeto devuelto por el método getText () de cambios TextView después de crear AccessibilityNodeInfo de TextView
- Android: selector de texto personalizado
- ¿Cómo hacer que el texto brille?
- Presentación de texto de Android TextView vs WebView
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <TextView android:id="@+id/id_task_list_title" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/title_task_list" style="?android:attr/listSeparatorTextViewStyle" /> <ListView android:id="@+id/id_task_list_view" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/id_task_list_title" /> <TextView android:id="@+id/id_task_list_test" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/id_task_list_view" android:text="OMG Test" /> </RelativeLayout>
- Java / Android: Obtener información de usuario de Facebook desde Graph Api, mostrar en TextView
- Android interceptar la pasta \ copy \ cut en editText
- Fórmula química en Android
- Agregue textViews dinámicamente a un linearLayout
- Cómo hacer TextView del mismo tamaño sin importar los textos dentro
- Actualizar un TextView después de hacer clic en el botón?
- Cómo hacer clic o tocar en un texto de TextView
- Android: Cambio del texto del cuadro de diálogo de progreso
Utilice LinearLayout como sigue:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" android:orientation="vertical"> <TextView android:id="@+id/id_task_list_title" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/title_task_list" style="?android:attr/listSeparatorTextViewStyle" /> <ListView android:id="@+id/id_task_list_view" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1"/> <TextView android:id="@+id/id_task_list_test" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="OMG Test" /> </LinearLayout>
Esto debería solucionar su problema colocando su ListView entre las TextViews usando android: layout_above y android: layout_below:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <TextView android:id="@+id/id_task_list_title" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/title_task_list" style="?android:attr/listSeparatorTextViewStyle" /> <TextView android:id="@+id/id_task_list_test" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:text="OMG Test" /> <ListView android:id="@+id/id_task_list_view" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_above="@id/id_task_list_test" android:layout_below="@id/id_task_list_title"/> </RelativeLayout>
Se puede lograr una de las dos maneras
1) Uso del diseño lineal (derecho)
2) Uso de Disposición Relativa con referencia a la posición de la vista con respecto a las otras vistas.
En tu caso
1) Cambio relativo a LinearLayout y se realizará el trabajo.
2)
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <TextView android:id="@+id/id_task_list_title" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/title_task_list" style="?android:attr/listSeparatorTextViewStyle" /> <ListView android:layout_below="@+id/id_task_list_title" android:id="@+id/id_task_list_view" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/id_task_list_title" /> <TextView android:layout_below="@+id/id_task_list_view" android:id="@+id/id_task_list_test" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/id_task_list_view" android:text="OMG Test" /> </RelativeLayout>
Esto se puede hacer a través de la codificación obteniendo la altura de la pantalla y alloting el ancho del parámetro de diseño a la vista de lista como este
Height of list view = altura de la pantalla (altura de textView1 + altura de textView2).
En lugar de usar RelativeLayout, use LinearLayout con Orientación Vertical.
Creo que soluciona tu problema
Gracias
- Vista de cámara personalizada y rotación en Zxing para el código QR?
- ListFragment vs ListActivity – ¿Cuál usar?