如何在没有菜单按钮的ICS手机上禁用/隐藏三点指示器(选项菜单指示器)?
我在清单文件中将应用程序运行为<uses-sdk android:minSdkVersion="5"/>
,代码已经编译为4.0
。三点指示器出现在每个屏幕上。
例如,在首选项活动中,我不想显示三点指示器,因为它没有任何菜单选项。
在清单文件中添加android:targetSdkVersion="14"
可以解决问题。但是只想在首选项活动中隐藏/删除此三个点按钮,而不是在所有屏幕上都隐藏/删除。
如何在没有菜单按钮的ICS手机上禁用/隐藏三点指示器(选项菜单指示器)?
我在清单文件中将应用程序运行为<uses-sdk android:minSdkVersion="5"/>
,代码已经编译为4.0
。三点指示器出现在每个屏幕上。
例如,在首选项活动中,我不想显示三点指示器,因为它没有任何菜单选项。
在清单文件中添加android:targetSdkVersion="14"
可以解决问题。但是只想在首选项活动中隐藏/删除此三个点按钮,而不是在所有屏幕上都隐藏/删除。
在首选项的片段中,用以下代码覆盖onPrepareOptionsMenu()
方法:
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
MenuItem item= menu.findItem(R.id.menu_settings);
item.setVisible(false);
super.onPrepareOptionsMenu(menu);
return true;
}
如果你有多个项目,请将所有项目的可见性标志设置为false,
并在onCreate命令中添加setHasOptionsMenu(true)命令。
当你将所有项目的可见性设置为false时,菜单将消失。R.id.action_settings
而不是 R.id.menu_settings
。 - Aman Deep Gautam我刚刚删除了这个方法:
@Override
public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) {
getSupportMenuInflater().inflate(R.menu.main, menu);
return true;
}
那个三点菜单就会消失 (:
希望这有所帮助。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
return false;
}
很抱歉来晚了,我试图删除所有菜单项和三个点(选项菜单指示器),我的做法与此处给出的解决方案不同,我很惊讶没有人告诉过它。 有一个可设置为false的可见性标签,不需要更改活动中的代码 visibility=false
就可以搞定。
在res / menu /..中。
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:showAsAction="never"
visibility=false
android:title="@string/action_settings"/>
在res/menu/main.xml
中删除此项
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_settings"/>
覆盖方法时,记得不要调用super并返回false。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
return false;
}
下面的代码适用于我的应用。在三星Galaxy S4(Android 4.3)和Nexus 4(Android 4.2)上尝试过:
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
MenuItem item= menu.findItem(R.id.action_settings);
item.setVisible(false);
return true;
}
for hiding 3 dots in actionbar/ toolbar
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_dash_board_drawer, menu);
return false; //for visible 3 dots change to true, hiding false
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
//Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_planos, menu);
return true;
}