2010-09-25 18 views
20

Me pregunto cómo es posible crear una barra de botones en boton androide,barra de botones inferior en Android

He leído algo acerca de esta solución de interfaz de usuario, ¿existen controles que se pueden utilizar?

Respuesta

36

Usted puede hacer algo como esto dentro de una disposición relativa

<LinearLayout android:id="@+id/footer" android:layout_width="fill_parent" 
    android:layout_height="wrap_content" android:orientation="horizontal" 
    android:layout_alignParentBottom="true" style="@android:style/ButtonBar"> 

    <Button android:id="@+id/saveButton" android:layout_width="wrap_content" 
     android:layout_height="wrap_content" android:layout_weight="1" 
     android:text="@string/menu_done" /> 

    <Button android:id="@+id/cancelButton" android:layout_width="wrap_content" 
     android:layout_height="wrap_content" android:layout_weight="1" 
     android:text="@string/menu_cancel" /> 
</LinearLayout> 
+13

Como está utilizando 'layout_weight' para los botones, se debe configurar el' layout_width' a 0DP. – aaronsnoswell

+0

Los botones en las barras de botones normalmente no tienen bordes: http://stackoverflow.com/questions/16648768/why-buttons-in-button-bars-should-be-borderless-in-android-api-level-15 – drindt

3

Puede utilizar un FrameLayout poner algo en la parte inferior por:

androide: layout_gravity = "inferior | centro"

Por ejemplo:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 

    > 
    <ListView 
     android:id="@+id/list1" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     /> 
    <Button 
     android:id="@+id/btn_" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom|center" 
     android:text="OK" 
     /> 

</FrameLayout> 
7
<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
> 
    <LinearLayout 
    android:id="@+id/buttonBar" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    style="@android:style/ButtonBar" 
    android:gravity="center" 
    > 
      <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textSize="20sp" 
      android:textStyle="bold" 
      android:textColor="#FFFFFF" 
      android:text="Button Bar"/> 
    </LinearLayout> 
</RelativeLayout> 

lo tiene desde el siguiente enlace bottombar

0

La forma más fácil es dar a su diseño lineal construido en un estilo a saber, "@android: Estilo/Holo.ButtonBar" o si usted está en pre HC luego "@ Android: estilo/ButtomBar"

Si se preguntan qué atributos se aplica este estilo, aquí está:

<style name="Holo.ButtonBar" parent="ButtonBar"> 
     <item name="android:paddingTop">0dip</item> 
     <item name="android:paddingStart">0dip</item> 
     <item name="android:paddingEnd">0dip</item> 
     <item name="android:paddingBottom">0dip</item> 
     <item name="divider">?android:attr/dividerVertical</item> 
     <item name="showDividers">middle</item> 
     <item name="dividerPadding">12dip</item> 
     <item name="background">@null</item> 
    </style> 

Tenga en cuenta, no es necesario utilizar RelativeLayout en este caso - es completamente redundante y es más costoso en términos de operaciones de diseño c comparado con el diseño lineal.

0

creo una sencilla utilizando AndroidBottomMenu View vista personalizada. Es simple y ligero, se puede copiar de forma sencilla a su proyecto

<com.toong.androidbottombar.bottommenu.BottomMenu 
    android:id="@+id/bottom_menu" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    /> 

enter image description here

Cuestiones relacionadas