我希望Action Bar中的Option菜单与Whatsapp和许多其他应用程序相同。
检查图像如下所示:
请帮我搞定。
答案 0 :(得分:3)
Android文档告诉您如何执行此操作,here。
您需要在menu
res文件夹中创建一个新的xml。
一个例子:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/action_search"
android:icon="@drawable/ic_action_search"
android:title="@string/action_search"/>
<item android:id="@+id/action_compose"
android:icon="@drawable/ic_action_compose"
android:title="@string/action_compose" />
</menu>
android:icon :用于指定要使用的图标
android:title :操作的名称(例如,如果按钮执行搜索,则可能是“搜索”)
android:id :菜单的ID,您将使用它来了解已点击的菜单
然后在您的活动覆盖onCreateOptionsMenu
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu items for use in the action bar
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main_activity_actions, menu);
return super.onCreateOptionsMenu(menu);
}
将R.menu.main_activity_actions
替换为您的菜单名称。
要在yuor屏幕中应用相同的效果,您应该使用android:showAsAction="never"
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/action_search"
android:icon="@drawable/ic_action_search"
android:title="@string/action_search"
android:showAsAction="never"
/>
<item android:id="@+id/action_compose"
android:icon="@drawable/ic_action_compose"
android:title="@string/action_compose"
android:showAsAction="never" />
</menu>
android:showAsAction=["ifRoom" | "never" | "withText" | "always" | "collapseActionView"]
android:showAsAction
用于说明Android应如何显示图标;如果你放ifRoom
Android会尝试将其添加为图标(如果有空格);如果您使用“never”,则会将其添加到overflow
菜单中。
官方文件:
ifRoom 仅将此项目放在操作栏中 它有空间。
withText 还包括标题文字(由。定义) android:title)与动作项目。您可以包含此值 将其中一个作为标志设置,用管道分开 |。
永远不要将此项目放在操作栏中。
始终始终放置 动作栏中的这个项目。除非它至关重要,否则请避免使用它 该项始终显示在操作栏中。设置多个项目 始终显示为操作项可能导致它们重叠 操作栏中的其他UI。
collapseActionView 操作视图 与此操作项关联(由android:actionLayout声明) 或者android:actionViewClass)是可折叠的。
在API级别 14 中引入。
如果您在API中使用它&lt; 14它将被忽略。