好的,我想我为您找到了解决方案。它称为溢出菜单,您需要在 onCreate 方法中调用以下方法。
private void getOverflowMenu() {
try {
ViewConfiguration config = ViewConfiguration.get(this);
Field menuKeyField = ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey");
if(menuKeyField != null) {
menuKeyField.setAccessible(true);
menuKeyField.setBoolean(config, false);
}
} catch (Exception e) {
e.printStackTrace();
}
}
试试这个,让我知道它是否适合你。
编辑:
我想我终于理解了你的问题。我可以给你一个想法。如果您不想使用溢出菜单并只显示您发布的屏幕截图中显示的菜单项,您可以在您的活动之上创建一个布局。
您可以采用线性布局,提供与操作栏相同的背景,并放置您想要放置的任何图标,并使用 onClickListener 为它们提供功能。希望这会给你一些想法。这样您就可以创建自己的自定义菜单。试试下面的布局,用菜单图标替换 ic_launcher drawable。然后只需将 onClickListeners 设置为它们并执行您想要在 onClick 方法中执行的任何功能。
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="#66000000" >
<ImageView
android:id="@+id/xMenuBtn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:background="@drawable/ic_launcher" />
<TextView
android:id="@+id/xMenuTxt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Chats"
android:textSize="18sp"
android:layout_toRightOf="@+id/xMenuBtn1"
android:layout_centerVertical="true" />
<ImageView
android:id="@+id/xMenuBtn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@+id/xMenuBtn3"
android:background="@drawable/ic_launcher" />
<ImageView
android:id="@+id/xMenuBtn3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:background="@drawable/ic_launcher" />
</RelativeLayout>