如何删除操作栏右上角的设置图标(溢出菜单)?

2022-09-01 14:54:49

如何从操作栏的右上角删除设置图标?当我在我实际的三星Galaxy s3手机上模拟时,它不存在,但是,当我在Nexus 7的AVD上模拟时,它出现了。这是我的菜单的代码:

<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/main_menu_actionbutton"
        android:orderInCategory="100"
        android:showAsAction="always"
        android:title="@string/Menu"/>
</menu>

答案 1

如果你指的是三个点,那称为溢出菜单。它存在于没有硬件菜单按钮的设备上 - 您的Galaxy S3具有,而Nexus 7则没有。因此,在S3上,您按菜单按钮并在底部获得弹出窗口,但在Nexus上,您按3个点并得到从操作栏中下拉的溢出弹出窗口。如果它不存在,您将如何能够访问溢出项目?

如果您只是想完全删除它,只需删除您发布的第一个条目即可。<item />menu.xml


答案 2

在“MainActivity”java类中有两种方法。它们被调用 onCreateOptionsMenu 和 onOptionsItemSelected。这些通常是由 Eclipse 等 IDE 添加的,当您使用默认设置在项目中创建活动时。这些方法如下所示。

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.settings, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();
    if (id == R.id.action_settings) {
        return true;
    }
    return super.onOptionsItemSelected(item);
}

这些方法创建菜单项并插入代码,用于在单击其中一个菜单项时要执行的操作。只需删除或注释掉这两种方法,您应该会看到菜单按钮将消失。XML仍然可以拥有它们,以防万一您想要恢复菜单项或菜单。


推荐