应用程序的Android常量菜单

时间:2012-02-13 20:44:40

标签: java android android-layout user-interface menu

我一直在寻找这个网站和谷歌,并没有发现任何真正给我一个明确答案的东西。所以我想我只是问。我是Android的新手,所以明确的解释是最好的。

问题很简单。我希望我的应用程序在底部有一个常量菜单,我可以在任何时候使用它,以及它背后的活动。

例如,得分移动应用程序执行此操作,红色箭头指向我想要的内容:

Captures

或者甚至这适用于更大的灰色菜单:

Capture

请帮忙。

2 个答案:

答案 0 :(得分:2)

您可以使用Fragments实现此目的。 http://developer.android.com/guide/topics/fundamentals/fragments.html

当您的应用启动时,您会加载一个名为HomeActivity的Activity或其他任何内容。 此活动应加载如下所示的布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >


    <RelativeLayout
        android:id="@+id/fragment_container"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/relativeLayout1"
        android:layout_alignParentTop="true" >
    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/relativeLayout1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true" >

        <Button
            android:id="@+id/btnFirst"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:text="@string/btn_previous" />

        <Button
            android:id="@+id/btnSecond"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:text="@string/btn_pause" />

        <Button
            android:id="@+id/btnThird"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"
            android:text="@string/btn_next" />
    </RelativeLayout>

</RelativeLayout>

如您所见,您的3个按钮始终位于屏幕底部。 您可以使用要显示的片段替换RelativeLayout“fragment_container”中的片段,而不是调用不同的Activity。 这意味着您必须使用Fragment-Classes更改Activity-Classes。碎片和活动很安静,改变你的代码也不是很难。

答案 1 :(得分:1)

在Android中,显示导航和动作项目的首选方法是使用ActionBar,它具有一种称为“分割操作栏”的模式,可以在屏幕的顶部和底部进行分割(通常是就在顶部)。这是专为您所描述的情况而设计的。您可以在Android Design Guide中了解操作栏的设计指南。

要从Dev Guide

创建拆分操作栏
  

要启用拆分操作栏,只需将uiOptions =“splitActionBarWhenNarrow”添加到您的或清单元素。

请记住,根据设计指南,导航元素应位于顶部栏中,操作(播放,暂停,发送电子邮件等)应位于底栏。