使用主要活动NoActionBar的主题时,选项菜单按钮未显示

时间:2019-01-26 15:12:33

标签: java android

我正在使用主要活动的主题,但是未显示选项菜单。请告诉我们如何显示带有此主题的选项菜单,请告诉我有关此问题的信息

android:theme="@style/Theme.AppCompat.Light.NoActionBar"

这是我的Java代码。可以,如果我将主题更改为其他类似深色动作栏的效果,请告诉我该怎么办

 @Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu_setting, menu);

    return super.onCreateOptionsMenu(menu);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case 1:
            // write your code here

            return true;

        case 2:
            // write your code here
            return true;

        case 3:
            // write your code here
            return true;

        case 4:
            // write your code here
            return true;

        case 5:
            // write your code here
            return true;

        case 6:
            // write your code here
            return true;

        default:
            return super.onOptionsItemSelected(item);
    }
}

这是我的xml

   <?xml version="1.0" encoding="utf-8"?>
   <menu
   xmlns:android="http://schemas.android.com/apk/res/android">
   <item
    android:id="@+id/Timer"
    android:title="@string/timer"/>
   <item
    android:id="@+id/friends"
    android:title="@string/night_mode"/>
   <item
    android:id="@+id/about"
    android:title="@string/quiz_type"/>
   </menu>

1 个答案:

答案 0 :(得分:1)

由于您使用的是NoActionBar主题,因此activity中没有操作栏。为了在活动中显示菜单,最好的方法是将Toolbar作为操作栏添加为this Google Guide - Set up the app bar

// add toolbar to your layout xml
<android.support.v7.widget.Toolbar
android:id="@+id/my_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:elevation="4dp"
android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>


// set toolbar as actionbar in your activity
Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar);
setSupportActionBar(myToolbar);