如何在视图底部创建菜单

时间:2013-11-21 17:50:50

标签: android android-actionbar android-menu

我想要在我的应用底部创建一个与此类似的菜单

enter image description here

菜单按钮位于布局的底部,当您单击它时,它可以扩展为项目列表。如何实现此菜单效果?我在Android中查找了操作栏,遗憾的是它只放在顶部。我如何根据自己的目的进行自定义?

非常感谢xml草图!

2 个答案:

答案 0 :(得分:2)

您可以拆分操作栏以在底部查看:

在你的清单中:

    <activity
        android:name=".MainActivity"
        android:uiOptions="splitActionBarWhenNarrow">
        <intent-filter>
            <meta-data android:name="android.support.UI_OPTIONS"
               android:value="splitActionBarWhenNarrow" />
        </intent-filter>
    </activity>

然后,操作栏将显示在底部。

此处有更多信息:Action Bar - Using split action bar

答案 1 :(得分:0)

如果您想要在页面底部显示自定义视图,请尝试使用RelativeLayout

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

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="Your Contents" />

    <LinearLayout
        android:id="@+id/my_bottom_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:background="@color/transparent_white"
        android:gravity="center" >

        <ImageButton
            android:id="@+id/imageButton1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/x" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="center"
            android:text="5.6 miles" />

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/overflow" />

    </LinearLayout>

</RelativeLayout>

要处理溢出菜单,您可以使用PopupMenu,如下所示:

        PopupMenu popupMenu = new PopupMenu(context, view);
        popupMenu.inflate(R.menu.my_menu);
        popupMenu.setOnMenuItemClickListener(new OnMenuItemClickListener() {...});
        popupMenu.show();