删除 ActionBar 上的 action_settings
Delete action_settings on ActionBar
我在尝试删除设置图标并添加另一个新图标时遇到问题。
我试过的是(没有成功):
1.-删除main.xml
中的项目
2-更改 OnPrepareOprionMenu
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
// if Navigation drawer is opened, hide the action items
boolean drawerOpen = mDrawerLayout.isDrawerOpen(mDrawerList);
menu.findItem(R.id.action_home).setVisible(!drawerOpen);
return super.onPrepareOptionsMenu(menu);
}
3.-更改OnOptionsItemSelected
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// title/icon
if (mDrawerToggle.onOptionsItemSelected(item)) {
return true;
}
// Handle action bar actions click
switch (item.getItemId()) {
case R.id.action_home:
return true;
default:
return super.onOptionsItemSelected(item);
}
}
4.-我的menu_home.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/action_home"
android:icon="@drawable/ic_home"
android:title="Home"
android:alphabeticShortcut="r"
android:orderInCategory="200"
android:showAsAction="ifRoom" />
</menu>
5.-我也试过这个,在我的片段上(我想显示这个主页图标的地方)
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.menu_home,menu );
inflater.inflate(R.menu.main,menu);
menu.findItem(R.id.action_settings).setVisible(false);
}
5.- main.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_settings"/>
<item
android:id="@+id/action_refresh"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_refresh"/>
<item
android:id="@+id/action_rate"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_rateapp"/>
</menu>
我知道这并不难,但我不明白为什么它没有从我的应用程序中消失。
谢谢。
嗯...我所做的是更改 main.xml
和 menu_main.xml
我的main.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/action_home"
android:icon="@drawable/ic_home"
android:title="Home"
android:alphabeticShortcut="r"
android:orderInCategory="200"
android:showAsAction="ifRoom" />
我看到我有一个 menu_main.xml
然后我删除了所有并添加:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity">
<item android:id="@+id/action_home"
android:icon="@drawable/ic_home"
android:title="Home"
android:alphabeticShortcut="r"
android:orderInCategory="200"
android:showAsAction="ifRoom" />
而且我不得不修改 MainActivity.java
上的一些内容。
这对我有用...
之前有人问过这个问题,据说要在支持操作栏调用上重建菜单
super.supportInvalidateOptionsMenu();
然后调用 onCreateOptionsMenu
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.mapmain, menu);
boolean isSDCardReady = MyCheckStorage
.isExternalStorageWritable();
// The snapshot or thumbnail create option is not available
// unless the sdcard isready
MenuItem menuItemSnapshot = menu.findItem(R.id.action_snapshot);
if (isSDCardReady) {
menuItemSnapshot.setEnabled(true);
menuItemSnapshot.setVisible(true);
} else {
menuItemSnapshot.setEnabled(false);
menuItemSnapshot.setVisible(false);
}
...
return super.onCreateOptionsMenu(menu);
}
我在尝试删除设置图标并添加另一个新图标时遇到问题。
我试过的是(没有成功):
1.-删除main.xml
中的项目2-更改 OnPrepareOprionMenu
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
// if Navigation drawer is opened, hide the action items
boolean drawerOpen = mDrawerLayout.isDrawerOpen(mDrawerList);
menu.findItem(R.id.action_home).setVisible(!drawerOpen);
return super.onPrepareOptionsMenu(menu);
}
3.-更改OnOptionsItemSelected
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// title/icon
if (mDrawerToggle.onOptionsItemSelected(item)) {
return true;
}
// Handle action bar actions click
switch (item.getItemId()) {
case R.id.action_home:
return true;
default:
return super.onOptionsItemSelected(item);
}
}
4.-我的menu_home.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/action_home"
android:icon="@drawable/ic_home"
android:title="Home"
android:alphabeticShortcut="r"
android:orderInCategory="200"
android:showAsAction="ifRoom" />
</menu>
5.-我也试过这个,在我的片段上(我想显示这个主页图标的地方)
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.menu_home,menu );
inflater.inflate(R.menu.main,menu);
menu.findItem(R.id.action_settings).setVisible(false);
}
5.- main.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_settings"/>
<item
android:id="@+id/action_refresh"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_refresh"/>
<item
android:id="@+id/action_rate"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_rateapp"/>
</menu>
我知道这并不难,但我不明白为什么它没有从我的应用程序中消失。
谢谢。
嗯...我所做的是更改 main.xml
和 menu_main.xml
我的main.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/action_home"
android:icon="@drawable/ic_home"
android:title="Home"
android:alphabeticShortcut="r"
android:orderInCategory="200"
android:showAsAction="ifRoom" />
我看到我有一个 menu_main.xml
然后我删除了所有并添加:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity">
<item android:id="@+id/action_home"
android:icon="@drawable/ic_home"
android:title="Home"
android:alphabeticShortcut="r"
android:orderInCategory="200"
android:showAsAction="ifRoom" />
而且我不得不修改 MainActivity.java
上的一些内容。
这对我有用...
之前有人问过这个问题,据说要在支持操作栏调用上重建菜单
super.supportInvalidateOptionsMenu();
然后调用 onCreateOptionsMenu
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.mapmain, menu);
boolean isSDCardReady = MyCheckStorage
.isExternalStorageWritable();
// The snapshot or thumbnail create option is not available
// unless the sdcard isready
MenuItem menuItemSnapshot = menu.findItem(R.id.action_snapshot);
if (isSDCardReady) {
menuItemSnapshot.setEnabled(true);
menuItemSnapshot.setVisible(true);
} else {
menuItemSnapshot.setEnabled(false);
menuItemSnapshot.setVisible(false);
}
...
return super.onCreateOptionsMenu(menu);
}