Android 应用中未显示菜单项
Menu items are not displayed in the Android app
大家好!我是初学者,正在开发移动应用程序。
朋友们,我的菜单项没有显示。我单击三个点 clicking on the menu. A white window appears window without menu items。
程序代码“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);
}
如何显示菜单项?朋友,帮忙解决问题!
我正在移动设备上测试该应用程序。
当我创建菜单时,在 onCreateOptionsMenu
覆盖方法中我 return true
而不是 super
.
此外,您是否覆盖了 onOptionsItemSelected
方法来处理点击?你没有post那个代码。
这里是 Google 关于创建菜单的文档:
https://developer.android.com/guide/topics/ui/menus
问题出在 XML 文件中。添加了以下行:<item name="android:textColor">@color/purple_200</item>
。应用程序菜单如下所示:menu
完整程序代码:
<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>
大家好!我是初学者,正在开发移动应用程序。 朋友们,我的菜单项没有显示。我单击三个点 clicking on the menu. A white window appears window without menu items。 程序代码“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);
}
如何显示菜单项?朋友,帮忙解决问题! 我正在移动设备上测试该应用程序。
当我创建菜单时,在 onCreateOptionsMenu
覆盖方法中我 return true
而不是 super
.
此外,您是否覆盖了 onOptionsItemSelected
方法来处理点击?你没有post那个代码。
这里是 Google 关于创建菜单的文档: https://developer.android.com/guide/topics/ui/menus
问题出在 XML 文件中。添加了以下行:<item name="android:textColor">@color/purple_200</item>
。应用程序菜单如下所示:menu
完整程序代码:
<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>