¿Cómo puedo crear una barra de botones de encabezado o pie de página para mi aplicación de Android?
Muchas aplicaciones populares como Google Maps, Facebook, Foursquare, etc. tienen barras de encabezado y / o pie de página en la mayoría de sus actividades. Estos encabezados suelen incluir botones muy útiles, y me gustaría crear uno para mi aplicación. ¿Alguien sabe cómo se hacen? No he podido encontrar nada hasta ahora.
Aquí hay algunas imágenes de lo que quiero decir: http://www.flickr.com/photos/calebgomer/6262815430 http://www.flickr.com/photos/calebgomer/6262815458
- TextView y EditText en una sola fila en Android?
- ¿Por qué estoy recibiendo HttpResponse diferente de un navegador en android?
- Utilizar JAXB (xjc) clases generadas en android
- Disposiciones condicionales de Android para teléfonos: tabletas
- La animación de vista de Android se detiene al salir de la pantalla
- SAXParser no puede analizar algunos caracteres
- El enfoque de EditText es inconsistente en todos los diseños
- ¿Cómo obtengo un botón para abrir otra actividad en Android Studio?
- Animación de agitación de botón de Android
- TextView Hyperlink no funciona?
- Cómo poner un botón entre dos diseños
- Cómo importar el recurso de forma (xml) al código?
- La barra de herramientas no se oculta mientras se desplaza
Usando esta manera usted puede hacer su header-footer xml
y utilizarlo a cualquier de su activity
también usted apenas necesita escribir el código para los controles en cabecera-pie una vez en HeaderFooter.java y puede tener acceso a su proyecto.
Construye tu HederFooter.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:weightSum="10" android:id="@+id/commonlayout" android:background="#FFFFFF"> <LinearLayout android:id="@+id/llheader" android:layout_width="fill_parent" android:layout_height="0dp" android:background="@drawable/bar" android:layout_weight="1"> <RelativeLayout android:id="@+id/relativeLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_gravity="center"> <Button android:id="@+id/Button_HeaderFooterSubscribe" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_marginRight="2dp" android:layout_centerVertical="true" android:background="@drawable/subscribe" /> <Button android:id="@+id/Button_logout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_marginRight="2dp" android:layout_centerVertical="true" android:background="@drawable/logout" /> <Button android:id="@+id/Button_playlist" android:layout_marginLeft="2dp" android:layout_width="wrap_content" android:layout_centerVertical="true" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:background="@drawable/tempadd" /> </RelativeLayout> </LinearLayout> <LinearLayout android:id="@+id/lldata" android:layout_weight="8" android:layout_width="fill_parent" android:layout_height="0dp" android:background="#FFFFFF"> </LinearLayout> <LinearLayout android:id="@+id/llfooter" android:layout_weight="1" android:layout_width="fill_parent" android:orientation="horizontal" android:layout_height="0dp" android:visibility="visible" android:background="@drawable/fbg" android:weightSum="5.0" android:gravity="center" android:layout_margin="0dp"> <Button android:id="@+id/home" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_weight="1" android:background="@drawable/home" android:textColor="#FFFFFF" android:padding="10px"></Button> <Button android:id="@+id/issue" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_weight="1" android:background="@drawable/issue" android:textColor="#FFFFFF" android:padding="10px"></Button> <Button android:id="@+id/browse" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_weight="1" android:background="@drawable/browse" android:textColor="#FFFFFF" android:padding="10px"></Button> <Button android:id="@+id/search" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_weight="1" android:background="@drawable/search" android:textColor="#FFFFFF" android:padding="10px"></Button> <Button android:layout_height="wrap_content" android:id="@+id/favorite" android:background="@drawable/favorite" android:layout_width="wrap_content" android:layout_weight="1" android:textColor="#FFFFFF" android:padding="10px"></Button> </LinearLayout> </LinearLayout>
Crear una actividad HeaderFooter.java
public class HeaderFooter extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.headerfooter); } }
Ahora extiende la actividad anterior a todas tus otras actividades e infla tu vista particular en el diseño medio del headerfooter.xml
public class Home extends HeaderFooter { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ViewGroup vg = (ViewGroup) findViewById(R.id.lldata); ViewGroup.inflate(Home.this, R.layout.home, vg); } }
Simplemente cree un xml como necesite.
Agregue estos XML a sus otras pantallas usando la etiqueta en sus otros XMLs de la pantalla.
La muestra está aquí.
Puede manejar el botón de clic que necesite en cada actividad.
Espero que esto ayude.
Diseño de diseño Xml con el encabezado, pie de página y body.you tiene que ampliar la actividad principal cada vez, usted tiene que cambiar el cuerpo por inflar el diseño deseado.
Creo que el elemento que te gusta en esos diseños es el hecho de que están usando un FrameLayout para la parte inferior de la pantalla.
Probablemente están haciendo algo como esto:
<LinearLayout android:orientation="vertical .../> <head layout element> <FrameLayout element> <footer layout element> </LinearLayout>
- Estilos de Android: Diferencia entre 'style = "@ android: style / XYZ"' y 'style = "? Android: attr / XYZ"'?
- Dispositivos Android con sensor de presión