Мне интересно, как можно создавать кнопки панели управления в Android,
Я прочитал что-то об этом решении UI, есть ли какие-либо элементы управления, которые можно использовать?
Мне интересно, как можно создавать кнопки панели управления в Android,
Я прочитал что-то об этом решении UI, есть ли какие-либо элементы управления, которые можно использовать?
Вы можете сделать что-то подобное в относительном макете
<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>
<?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
Вы можете использовать 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>
Самый простой способ - дать вашему линейному макету встроенный стиль, а именно "@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 - его полностью избыточное и более дорогостоящее с точки зрения операций макета по сравнению с линейным расположением.
Это неудобная практика http://developer.android.com/design/patterns/pure-android.html
Я был неправ
Я создаю простой AndroidBottomMenu View, используя пользовательский вид. Это просто и легко, вы можете легко скопировать в свой проект
<com.toong.androidbottombar.bottommenu.BottomMenu
android:id="@+id/bottom_menu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>