Android 定义菜单资源并在“活动/片段”中使用
示例
在res/菜单中定义菜单
<?xml version="1.0" encoding="utf-8"?>
<menu
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/first_item_id"
android:orderInCategory="100"
android:title="@string/first_item_string"
android:icon="@drawable/first_item_icon"
app:showAsAction="ifRoom"/>
<item
android:id="@+id/second_item_id"
android:orderInCategory="110"
android:title="@string/second_item_string"
android:icon="@drawable/second_item_icon"
app:showAsAction="ifRoom"/>
</menu>有关配置的更多选项,请参考:菜单资源
内部Activity:
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
///覆盖定义菜单资源
inflater.inflate(R.menu.menu_resource_id, menu);
super.onCreateOptionsMenu(menu, inflater);
}
@Override
public void onPrepareOptionsMenu(Menu menu) {
//覆盖准备项目(设置可见性,更改文本,更改图标...)
super.onPrepareOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
//覆盖它以处理项目
int menuItemId = item.getItemId();
switch (menuItemId) {
case: R.id.first_item_id
return true; //如果已处理,则返回true
}
return super.onOptionsItemSelected(item);
}要在显示视图时调用上述方法,请调用getActivity().invalidateOptionsMenu();
内部Fragment需要另外一个呼叫:
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
setHasOptionsMenu(true);
super.onCreateView(inflater, container, savedInstanceState);
}
热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短