提问人:MAGistr 提问时间:5/25/2022 更新时间:5/31/2022 访问量:624
菜单项不会显示在 Android 应用中
Menu items are not displayed in the Android app
问:
每个人 都!我是一个初学者,正在开发一个移动应用程序。 朋友们,我的菜单项没有显示。我点击菜单上的三个点。将出现一个白色窗口,窗口中没有菜单项。程序代码“menu.xml”:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
app:theme="@style/Theme.MAGIC">
<item
android:title="@string/search"
android:id="@+id/search_option"
android:icon="@drawable/ic_baseline_search_24"
app:showAsAction="ifRoom"
app:actionViewClass="androidx.appcompat.widget.SearchView">
</item>
<item
android:id="@+id/setting_app"
android:title="@string/menu_settings"
android:icon="@drawable/ic_settings_app" />
<item
android:id="@+id/about_app"
android:title="@string/menu_about_application"
android:icon="@drawable/ic_info_about" />
</menu>
程序代码 “themes.xml”:
<resources xmlns:tools="http://schemas.android.com/tools">
<style name="Theme.MAGIC" parent="Theme.MaterialComponents.DayNight.NoActionBar">
<item name="colorPrimary">@color/purple_500</item>
<item name="colorPrimaryVariant">@color/purple_700</item>
<item name="colorOnPrimary">@color/black</item>
<item name="colorSecondary">@color/teal_200</item>
<item name="colorSecondaryVariant">@color/teal_700</item>
<item name="colorOnSecondary">@color/black</item>
<item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
</style>
</resources>
程序代码 “MainActivity.java”
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuItem menuItem;
androidx.appcompat.widget.SearchView searchView;
getMenuInflater().inflate(R.menu.menu, menu);
menuItem = menu.findItem(R.id.search_option);
searchView = (SearchView) menuItem.getActionView();
searchView.setOnQueryTextListener(this);
return super.onCreateOptionsMenu(menu);
}
如何显示菜单项?朋友们,帮忙解决问题! 我正在移动设备上测试该应用程序。
答:
0赞
shagberg
5/26/2022
#1
当我创建菜单时,在覆盖方法中,我返回而不是 .onCreateOptionsMenu
true
super
另外,您是否覆盖该方法来处理点击?您没有发布该代码。onOptionsItemSelected
以下是 Google 关于创建菜单的文档:https://developer.android.com/guide/topics/ui/menus
评论
0赞
MAGistr
5/26/2022
哦,是的,我忘了。下面是程序代码。public boolean onOptionsItemSelected(@NonNull MenuItem item) { if(item.getItemId() == R.id.about_app){ startActivity(new Intent(MainActivity.this, AboutAppActivity.class)); } else if(item.getItemId() == R.id.setting_app){ showDialogBox();
0赞
MAGistr
5/31/2022
#2
问题出在 XML 文件中。添加了以下行:。应用程序菜单如下所示:menu<item name="android:textColor">@color/purple_200</item>
完整的程序代码:
<resources xmlns:tools="http://schemas.android.com/tools">
<!-- The basic theme of the application -->
<style name="Theme.MAGIC" parent="Theme.MaterialComponents.DayNight.NoActionBar">
<!-- another part of the code -->
<!-- Text color, including menu text -->
<item name="android:textColor">@color/purple_200</item>
</style>
评论