Подтвердить что ты не робот

Нижняя панель кнопок в android

Мне интересно, как можно создавать кнопки панели управления в Android,

Я прочитал что-то об этом решении UI, есть ли какие-либо элементы управления, которые можно использовать?

4b9b3361

Ответ 1

Вы можете сделать что-то подобное в относительном макете

<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>

Ответ 2

<?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>

получил его из следующей ссылки bottombar

Ответ 3

Вы можете использовать FrameLayout, чтобы поместить что-то внизу:

Android: layout_gravity = "нижний | центр"

Например:

<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>

Ответ 4

Самый простой способ - дать вашему линейному макету встроенный стиль, а именно "@android: style/Holo.ButtonBar" или если вы находитесь на pre HC, тогда "@android: style/ButtomBar"

Если вам интересно, какие атрибуты этот стиль применяется, вот он:

<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>

Обратите внимание, что в этом случае вам не нужно использовать RelativeLayout - его полностью избыточное и более дорогостоящее с точки зрения операций макета по сравнению с линейным расположением.

Ответ 6

Я создаю простой AndroidBottomMenu View, используя пользовательский вид. Это просто и легко, вы можете легко скопировать в свой проект

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

введите описание изображения здесь