【2021-10-24】Activity 的 onCreateOptionsMenu 不在加载的布局中显示菜单的一种情况:Android 版本过低

打开

app\src\main\res\values\themes.xml

可以看到类似这样的内容:

<resources xmlns:tools="http://schemas.android.com/tools">
	<!-- Base application theme. -->
	<style name="Theme.ActivityTest" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
		<!-- Primary brand color. -->
		<item name="colorPrimary">@color/purple_500</item>
		<item name="colorPrimaryVariant">@color/purple_700</item>
		<item name="colorOnPrimary">@color/white</item>
		<!-- Secondary brand color. -->
		<item name="colorSecondary">@color/teal_200</item>
		<item name="colorSecondaryVariant">@color/teal_700</item>
		<item name="colorOnSecondary">@color/black</item>
		<!-- Status bar color. -->
		<item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
		<!-- Customize your theme here. -->
	</style>
</resources>

Theme.MaterialComponents.DayNight.DarkActionBar 表明这是 Material Design 的一部分,需要在 Android 5.0(API 21)开始才能启用。如果在低于 Android 5.0 的环境中运行,则无法在 ActionBar 上正常显示菜单。
在这里插入图片描述
在这里插入图片描述
如果项目确实需要在低于 Android 5.0 的环境中运行,则可以使用 NoActionBar 的非 Material Design 主题:

<style name="Theme.ActivityTest" parent="Theme.AppCompat.DayNight.NoActionBar">

当然,这类主题没有顶部的 ActionBar,需要自行在对应的布局文件中添加 ActionBar。

おすすめ

転載: blog.csdn.net/COFACTOR/article/details/120941936