当 minsdk 设置为 21 或 lollipop 5.0 时,工具栏不显示菜单

Toolbar not showing menu when minsdk set to 21 or lollipop 5.0

我正在 Android 5.0 lollipop 中测试工具栏以显示菜单,其中我的配置是最小 sdk 21 和目标 sdk 23 我正在使用 sdk 21 的默认工具栏,即 Android 5.0 lollipop 不使用 Appcompact v7 支持比 Android 5.0 lollipop 更早的版本,但我卡在菜单上,它并不总是显示我尝试了很多但没有 luck.please 让我摆脱它。

以下是我的代码。

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);

          setContentView(R.layout.activity_main);

          Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);

          TextView mTitle = (TextView) toolbar.findViewById(R.id.text);
          mTitle.setTextColor(Color.parseColor("#636161"));
          mTitle.setTextSize(25);

          toolbar.setNavigationIcon(R.drawable.ic_launcher);
          toolbar.setTitle(R.string.app_name);
          toolbar.setTitleTextColor(Color.parseColor("#eea9b8"));
          toolbar.setTextAlignment(View.TEXT_ALIGNMENT_GRAVITY);
    }

    @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 super.onCreateOptionsMenu(menu);
    }

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

        //noinspection SimplifiableIfStatement

        if (id == R.id.action_refresh) {
            Toast.makeText(MainActivity.this, "Refresh App",       Toast.LENGTH_LONG).show();
            return true;
        }
        if (id == R.id.action_new) {
            Toast.makeText(MainActivity.this, "Create Text", Toast.LENGTH_LONG).show();
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}

您必须将自定义工具栏传递给 setActionBar(toolbar); 方法。

尝试在OnCreate函数的末尾添加上面的代码语句。如果这不起作用,请进行以下更改。

styles.xml :

<style name="AppTheme.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>

并且在 AndroidManifest.xml 中:

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme.NoActionBar">

我在github中做了一个示例代码看看它 -> Link