Android diseño de diseño – Cómo obtener la altura de la pantalla en xml (layouts)
Tengo que diseñar la pantalla. Quiero poner la barra de pie de página debajo de la lista. Mira aquí:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout android:id="@+id/main" xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_height="fill_parent" android:layout_width="fill_parent" android:background="@drawable/wallpaper"> <!-- Header --> <LinearLayout android:id="@+id/header" android:background="#0099CC" android:layout_height="wrap_content" android:layout_width="fill_parent"> <TextView android:id="@+id/routeCode" android:layout_height="fill_parent" android:layout_width="wrap_content" android:text="Code" android:width="100dip" android:height="30dip" android:textColor="@color/black" android:gravity="center_horizontal" /> <TextView android:id="@+id/routeName" android:layout_height="fill_parent" android:layout_width="wrap_content" android:text="Name" android:width="150dip" android:height="30dip" android:textColor="@color/black" android:gravity="center_horizontal" /> <TextView android:id="@+id/outlets" android:layout_height="fill_parent" android:layout_width="wrap_content" android:text="Outlets" android:width="60dip" android:height="30dip" android:textColor="@color/black" android:gravity="center_horizontal" /> </LinearLayout> <!-- List Divider --> <View android:layout_width="fill_parent" android:layout_height="1dip" android:background="?android:attr/listDivider" /> <!-- ListView (grid_items) --> <LinearLayout android:id="@+id/layout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" > <ListView android:id="@android:id/list" android:layout_height="405dp" android:layout_width="fill_parent"> </ListView> <TextView android:id="@id/android:empty" android:layout_width="fill_parent" android:gravity="center_vertical" android:layout_height="fill_parent" android:layout_marginTop="25dp" android:text="No Sales Routes Define By Admin" /> </LinearLayout> <!-- Footer --> <RelativeLayout android:id="@+id/header" android:background="#000000" android:layout_height="wrap_content" android:layout_width="fill_parent"> <Button android:text="Exit" android:id="@+id/button1" android:background="#0099FF" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="8dp" android:onClick="onExitAction"> </Button> <Button android:layout_width="wrap_content" android:text="Next" android:background="#0099FF" android:layout_height="wrap_content" android:layout_marginRight="8dp" android:id="@+id/button2" android:layout_alignParentTop="true" android:layout_alignParentRight="true" android:onClick="onNextAction"> </Button> </RelativeLayout> </LinearLayout>
El problema es si no hay datos para la lista o pocas filas son avilable, entonces footerbar subirá up.How para arreglar esa cosa. Quiero fijar en parte inferior. No voy a venir ….
- Diseño inclinado o inclinado de la interfaz de usuario en Android
- Deshabilitar el teclado virtual en NumberPicker
- Android como la barra de búsqueda en ActionBar
- Cómo construir un ListView horizontal con RecyclerView?
- RelativeLayout dentro de scrollview no se desplaza
Cuando agrego este código android:layout_weight="1"
viene así:
Esta es mi parte de la pestaña xml;
<?xml version="1.0" encoding="utf-8"?> <TabHost xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:id="@android:id/tabhost" android:layout_width="fill_parent" android:layout_height="fill_parent" android:fadingEdge="horizontal"> <RelativeLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <FrameLayout android:id="@android:id/tabcontent" android:layout_width="fill_parent" android:layout_height="fill_parent" android:textColor="#ffffff" /> <TabWidget android:id="@android:id/tabs" android:layout_width="fill_parent" android:layout_height="56dp" android:gravity="bottom" android:tabStripEnabled="true" android:layout_alignParentBottom="true"/> </RelativeLayout> </TabHost>
Quiero esa barra por encima de la pestaña ..
Por favor, ayúdame..
gracias por adelantado
- Problemas con burbujas de charla de diseño: TextView llena toda la pantalla
- LinearLayout en el cajón de navegación
- Añadir imagen de marca de agua en android
- Cómo dividir entre dos botones en LinearLayout
- Cómo crear una imageView con parámetros id y src?
- Cómo establecer el ancho de la ListView en un PopupWindow en Android?
- La vista personalizada de Android vuelve a la posición original al actualizar
- ¿Cómo evitar cambios en la interfaz de usuario de Android, cuando el teclado está hacia arriba o se cambia la orientación?
Pruebe este código,
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout android:id="@+id/main" xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_height="fill_parent" android:layout_width="fill_parent" android:background="@drawable/icon"> <!-- Header --> <LinearLayout android:id="@+id/header" android:background="#0099CC" android:layout_height="wrap_content" android:layout_width="fill_parent"> <TextView android:id="@+id/routeCode" android:layout_height="fill_parent" android:layout_width="wrap_content" android:text="Code" android:width="100dip" android:height="30dip" android:gravity="center_horizontal" /> <TextView android:id="@+id/routeName" android:layout_height="fill_parent" android:layout_width="wrap_content" android:text="Name" android:width="150dip" android:height="30dip" android:gravity="center_horizontal" /> <TextView android:id="@+id/outlets" android:layout_height="fill_parent" android:layout_width="wrap_content" android:text="Outlets" android:width="60dip" android:height="30dip" android:gravity="center_horizontal" /> </LinearLayout> <!-- List Divider --> <View android:id="@+id/myView" android:layout_width="fill_parent" android:layout_height="1dip" android:background="?android:attr/listDivider" android:layout_below="@+id/header" /> <!-- ListView (grid_items) --> <LinearLayout android:id="@+id/layout" android:layout_below="@+id/myView" android:layout_width="wrap_content" android:layout_height="wrap_content" > <ListView android:id="@android:id/list" android:layout_height="wrap_content" android:layout_width="fill_parent"> </ListView> <TextView android:id="@id/android:empty" android:layout_width="fill_parent" android:gravity="center_vertical" android:layout_height="fill_parent" android:layout_marginTop="25dp" android:text="No Sales Routes Define By Admin" /> </LinearLayout> <!-- Footer --> <RelativeLayout android:layout_alignParentBottom="true" android:id="@+id/MyRelative" android:background="#000000" android:layout_height="wrap_content" android:layout_width="fill_parent" android:layout_gravity="bottom"> <Button android:text="Exit" android:id="@+id/button1" android:background="#0099FF" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="8dp" android:onClick="onExitAction"> </Button> <Button android:layout_width="wrap_content" android:text="Next" android:background="#0099FF" android:layout_height="wrap_content" android:layout_marginRight="8dp" android:id="@+id/button2" android:layout_alignParentTop="true" android:layout_alignParentRight="true" android:onClick="onNextAction"> </Button> </RelativeLayout> </RelativeLayout>
Debe utilizar pesos para el LinearLayout
con el ListView
dentro:
<LinearLayout android:id="@+id/layout" android:layout_width="wrap_content" android:layout_height="0dip" android:layout_weight="1" >
EDIT : Utilice la siguiente disposición para las "pestañas":
<?xml version="1.0" encoding="utf-8"?> <TabHost xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:id="@android:id/tabhost" android:layout_width="fill_parent" android:layout_height="fill_parent" android:fadingEdge="horizontal"> <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <FrameLayout android:id="@android:id/tabcontent" android:layout_width="fill_parent" android:layout_height="0dip" android:layout_weight="1" android:textColor="#ffffff"/> <TabWidget android:id="@android:id/tabs" android:layout_width="fill_parent" android:layout_height="56dp" android:gravity="bottom" android:tabStripEnabled="true"/> </LinearLayout> </TabHost>
Esto debería funcionar
<?xml version="1.0" encoding="utf-8"?> <LinearLayout android:id="@+id/main" xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_height="fill_parent" android:layout_width="fill_parent" android:background="#ff0000"> <!-- Header --> <LinearLayout android:id="@+id/header" android:background="#0099CC" android:layout_height="wrap_content" android:layout_width="fill_parent"> <TextView android:id="@+id/routeCode" android:layout_height="fill_parent" android:layout_width="wrap_content" android:text="Code" android:width="100dip" android:height="30dip" android:textColor="#000000" android:gravity="center_horizontal" /> <TextView android:id="@+id/routeName" android:layout_height="fill_parent" android:layout_width="wrap_content" android:text="Name" android:width="150dip" android:height="30dip" android:textColor="#000000" android:gravity="center_horizontal" /> <TextView android:id="@+id/outlets" android:layout_height="fill_parent" android:layout_width="wrap_content" android:text="Outlets" android:width="60dip" android:height="30dip" android:textColor="#000000" android:gravity="center_horizontal" /> </LinearLayout> <!-- List Divider --> <View android:layout_width="fill_parent" android:layout_height="1dip" android:background="?android:attr/listDivider" /> <!-- ListView (grid_items) --> <LinearLayout android:id="@+id/layout" android:layout_width="wrap_content" android:layout_height="0dip" android:layout_weight="1.0" > <ListView android:id="@android:id/list" android:layout_height="fill_parent" android:layout_width="fill_parent"> </ListView> <TextView android:id="@id/android:empty" android:layout_width="fill_parent" android:gravity="center_vertical" android:layout_height="fill_parent" android:layout_marginTop="25dp" android:text="No Sales Routes Define By Admin" /> </LinearLayout> <!-- Footer --> <RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <Button android:text="Exit" android:id="@+id/button1" android:background="#0099FF" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="8dp" android:onClick="onExitAction"/> <Button android:layout_width="wrap_content" android:text="Next" android:background="#0099FF" android:layout_height="wrap_content" android:layout_marginRight="8dp" android:id="@+id/button2" android:layout_alignParentRight="true" android:onClick="onNextAction"/> </RelativeLayout> </LinearLayout>
Estaría tentado a hacer su contenedor maestro en un RelativeLayout
y luego establecer android:layout_alignParentBottom="true"
en su contenedor de pie de página