当主题为style.xml中的NoActionBar时,如何添加菜单选项

时间:2018-02-11 08:11:41

标签: android android-actionbar android-theme

我使用Fragments所以,我不得不使用主题NoActionBar,但是当我膨胀选项菜单时它没有显示任何内容。如何解决这个问题? 这是我的代码:

MainActivity.java

>    @Override
>     public boolean onCreateOptionsMenu(Menu menu){
>         MenuInflater inflater =getMenuInflater();
>         inflater.inflate(R.menu.options,menu);
>         return super.onCreateOptionsMenu(menu);
>     }
>     @Override
>     public boolean onOptionsItemSelected(MenuItem item){
>         switch(item.getItemId()){
>             case R.id.item1 :
>                 Intent box = new Intent(MainActivity.this,Developer.class);
>                 startActivity(box);
>                 break;
>         }
>         return true;
>     }

Styles.xml

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>

</resources>

options.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:title="Developer" android:id="@+id/item1"/>
</menu>

1 个答案:

答案 0 :(得分:1)

您可以使用android.support.v7.widget.Toolbar#inflateMenu方法将菜单添加到工具栏中。这是kotlin的例子

with(toolbar) {
            inflateMenu(R.menu.menu_account_detail)
            setOnMenuItemClickListener {
                if (it.itemId == R.id.search) {
                    doSearch()
                }
                true
            }
        }