显示带有操作栏选项卡的选项菜单项
Show option menu items with action bar tabs
我有一个带有两个选项卡的操作栏,如下所示:
private void setUpActionBarTabs() {
actionBar = getSupportActionBar();
// Creating ActionBar tabs.
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
mainTab = actionBar.newTab().setText("Distance");
mapTap = actionBar.newTab().setText("Map");
mainTab.setTabListener(new TabListener(new MainFragment()));
mapTap.setTabListener(new TabListener(new MyMapFragment()));
actionBar.addTab(mainTab);
actionBar.addTab(mapTap);
}
而且效果很好。
MainActivity onCreateOptionsMenu():
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main_activity_menu, menu);
//mainMenu = menu;
return true;
}
我的选项菜单xml:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_gps_status"
android:icon="@drawable/red"
android:showAsAction="always"
android:title="@string/gps_status"/>
<item
android:id="@+id/menu_share_app"
android:icon="@drawable/ic_share_single"
android:showAsAction="always"
android:title="@string/share"/>
</menu>
我设置了 showAsAction = always 但它从未显示在操作栏中,我如何让它工作?
您必须为 showAsAction 使用自定义命名空间。
- 在菜单中添加类似 xmlns:app="http://schemas.android.com/apk/res-auto" 的内容
- 使用它:app:showAsAction="always"
有关更多信息,请参阅此问题:Android 4.3 menu item showAsAction="always" ignored
我有一个带有两个选项卡的操作栏,如下所示:
private void setUpActionBarTabs() {
actionBar = getSupportActionBar();
// Creating ActionBar tabs.
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
mainTab = actionBar.newTab().setText("Distance");
mapTap = actionBar.newTab().setText("Map");
mainTab.setTabListener(new TabListener(new MainFragment()));
mapTap.setTabListener(new TabListener(new MyMapFragment()));
actionBar.addTab(mainTab);
actionBar.addTab(mapTap);
}
而且效果很好。 MainActivity onCreateOptionsMenu():
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main_activity_menu, menu);
//mainMenu = menu;
return true;
}
我的选项菜单xml:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_gps_status"
android:icon="@drawable/red"
android:showAsAction="always"
android:title="@string/gps_status"/>
<item
android:id="@+id/menu_share_app"
android:icon="@drawable/ic_share_single"
android:showAsAction="always"
android:title="@string/share"/>
</menu>
我设置了 showAsAction = always 但它从未显示在操作栏中,我如何让它工作?
您必须为 showAsAction 使用自定义命名空间。
- 在菜单中添加类似 xmlns:app="http://schemas.android.com/apk/res-auto" 的内容
- 使用它:app:showAsAction="always"
有关更多信息,请参阅此问题:Android 4.3 menu item showAsAction="always" ignored