¿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
- Android: Necesito una vista previa circular de la cámara. ¿Cómo lograrlo?
- Android: Añadir una vista de texto al diseño lineal mediante programación
- Diferentes tipos de análisis
- Edición de Android Dibujo de rutas largas en MapView mediante análisis XML
- Modificación de la imagen de recurso de la barra de progreso
- Android obtiene una lista de colores de los recursos
- ¿Cómo agregar el borde coloreado en cardview?
- El servidor no pudo procesar su solicitud. El valor no puede ser nulo: análisis de jabón
- El diseño aparece diferente en la disposición gráfica y en el dispositivo real
- Simple HTML (o XML) para Android Native Converter
- Android y la configuración de alfa para (imagen) ver alfa
- Generar estilo de xml en intellij (/ android studio)
- Android Studio no identifica el archivo xml como archivo de diseño
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