¿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

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> 
  • ViewPagers en un ListView mostrando elementos de la lista en blanco
  • Tooltip de la imagen de Android
  • ¿Cómo obtengo un botón para abrir otra actividad en Android Studio?
  • keyBackground para teclas especiales - teclado android
  • App: srcCompat - Vector drawable se muestra en la vista previa del diseño, pero no se muestra en la aplicación
  • Obtener la imagen seleccionada de la galería en la vista de la imagen
  • Cómo cambiar el color de entrada del imput en xml?
  • ¿Qué es <view /> etiqueta XML en los diseños
  • CollapsingToolbarLayout no reconoce el desplazamiento
  • Resaltar los elementos seleccionados en ListFragment (MultiChoiceModeListener)?
  • Android NDK r4 san-angeles problema
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.