溢出菜单不显示

时间:2017-11-20 16:18:03

标签: java android xml android-actionbar overflow-menu

我的应用程序有问题...溢出菜单是隐形的!我可以轻轻点击手机的右上角,菜单项显示,但三个点不显示。

这是我的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="com.android.example.MainActivity">

    <item
        android:orderInCategory="1"
        android:id="@+id/ic_home"
        android:title="Home"
        android:icon="@drawable/ic_home"
        app:showAsAction="withText"
        />

    <item
        android:orderInCategory="2"
        android:id="@+id/ic_chat"
        android:title="Forum"
        android:icon="@drawable/ic_chat"
        app:showAsAction="withText"
        />

    <item
        android:orderInCategory="3"
        android:id="@+id/ic_videos"
        android:icon="@drawable/ic_videos"
        android:title="Videos"
        app:showAsAction="withText"
        />

    <item
        android:orderInCategory="4"
        android:icon="@drawable/ic_timeline"
        android:id="@+id/ic_timeline"
        android:title="Timeline"
        app:showAsAction="withText"
        />

    <item
        android:icon="@drawable/ic_phone"
        android:id="@+id/ic_call"
        android:orderInCategory="5"
        android:title="Call"
        app:showAsAction="withText"
        />   

</menu>

Java代码:

@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_main, 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();

    return super.onOptionsItemSelected(item);
}

我在StackOverflow上尝试了其他解决方案,但它们似乎都没有用。我尝试在2部手机上运行该应用,均使用Android版本&gt; 4.4。

更新 我尝试在应用中添加导航抽屉。再次,当我点击抽屉按钮所在的一侧时,菜单显示,但按钮不可见......

更新2: 我尝试在style.xml中更改主题设置。当我将windowActionBar设置为true而不是false而windowNoTitle设置为false而不是true时,抽屉和溢出菜单都会显示出来。但是,我的工具栏显示在操作栏like this下方。

如何将菜单按钮添加到实际(白色)工具栏?

提前致谢。

3 个答案:

答案 0 :(得分:0)

您是否设置了toolbar

Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar);
setSupportActionBar(myToolbar);

Check out this answer for full explanation.

答案 1 :(得分:0)

删除onCreateOptionsMenu和onOptionsItemSelected并像这样使用

 Toolbar toolbar=(Toolbar) findViewById(R.id.toolbar);
    toolbar.inflateMenu(R.menu.main_menu);
    toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
        @Override 
        public boolean onMenuItemClick(MenuItem item) {
            return false;
        }
    });

或者如果你没有活跃,那么你必须在onCreateView中添加这行代码

         setHasOptionsMenu(true);

答案 2 :(得分:0)

好的,我找到了答案:

我再次返回默认操作栏,然后为自定义操作栏创建了布局资源文件。

我在自定义操作栏文件中添加了所需栏的设计/规格,然后将操作栏设置为自定义操作栏文件。

一切都成功了!

相关问题