如何在ICS手机上禁用/隐藏三点指示符(选项菜单指示符)

Sub*_*bba 47 android android-4.0-ice-cream-sandwich

如何禁用/隐藏没有菜单按钮的ICS手机上的三点指示器(选项菜单指示器).?

<uses-sdk android:minSdkVersion="5"/>在Manifest中运行应用程序,编译代码4.0.每个屏幕上都会显示三点指示符.

偏好活动的示例我不希望显示三点指示符,因为它没有任何菜单选项.

添加android:targetSdkVersion="14"清单可行.但是,不希望在所有屏幕上隐藏/删除三个点按钮.仅在首选项活动中不希望显示此三个点按钮.

Asa*_*sen 31

使用以下方法覆盖onPrepareOptionsMenu()首选项的片段:

@Override
public boolean onPrepareOptionsMenu(Menu menu) {
    MenuItem item= menu.findItem(R.id.menu_settings);
    item.setVisible(false);
    super.onPrepareOptionsMenu(menu);
    return true;
}
Run Code Online (Sandbox Code Playgroud)

如果您有多个项目,则将所有项目可见性标志设置为false

并将命令添加setHasOptionsMenu(true);onCreate命令

将项目的所有可见性设置为false后,菜单将消失

在活动上,唯一的区别是onPrepareOptionsMenuis boolean并且您不需要setHasOptionsMenu(true);在创建时添加命令

  • 对我来说,它是`R.id.action_settings`而不是`R.id.menu_settings`. (12认同)

ali*_*tur 25

我刚刚删除了该方法:

@Override
public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) {
    getSupportMenuInflater().inflate(R.menu.main, menu);
    return true;
}
Run Code Online (Sandbox Code Playgroud)

那个三点菜单就消失了(:


希望能帮助到你.


dno*_*ode 17

 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
       return false;
 }
Run Code Online (Sandbox Code Playgroud)


Hit*_*sit 9

无法显示/隐藏单个活动的"三点"菜单指示符.您可以通过在清单文件中指定android:targetSdkVersion ="14"(或更高版本)来仅为整个应用程序隐藏此菜单指示器.

但是,如果从主机android.preference.PreferenceActivity类扩展,则此菜单指示器不会显示在首选项活动上.我在我的一些应用程序中实现了这个场景,它运行得很好.

我假设您正在使用一些不从PreferenceActivity扩展的自定义首选项实现.Android Dev Team建议始终将PreferenceActivity用于应用程序中的任何首选项.

  • 我想,改变sdk应该不是答案.有时候,你应该使用某些sdks. (4认同)

war*_*ero 6

这里方太晚了,我试图删除所有菜单项和3点(选项菜单指示器),我的做法与此处给出的解决方案不同,我很惊讶,没有人告诉它.还有,可以设置为false可视性标记和没有活性的改变代码,需要 visibility=false确实的伎俩

在res/menu/..

<item
    android:id="@+id/action_settings"
    android:orderInCategory="100"
    android:showAsAction="never"
    visibility=false
    android:title="@string/action_settings"/>
Run Code Online (Sandbox Code Playgroud)


dno*_*ode 5

覆盖方法并返回false记住不调用super

 @Override
public boolean onCreateOptionsMenu(Menu menu) {
    return false;
}
Run Code Online (Sandbox Code Playgroud)


小智 5

删除此项目 res / menu / main.xml

<item
    android:id="@+id/action_settings"
    android:orderInCategory="100"
    android:showAsAction="never"
    android:title="@string/action_settings"/>
Run Code Online (Sandbox Code Playgroud)

另外:不要添加具有showAsAction="never"- 这将避免显示点的项目。如果您的项目多于无法一次显示,则点将再次出现(并且它们是已标记的项目ifRoom)。