java - 菜单项标题未显示

标签 java android menu android-toolbar menuitem

菜单项的标题未显示在 fragment 内。我在菜单文件中有两个项目,第一个带有图标和标签 showAsAction=always在工具栏中显示图标。第二个只有标题。
我不知道这里出了什么问题。
菜单项的所有操作都有效。例如下面。
enter image description here
menu_sale.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">

    <item android:title="Scanner"
        android:id="@+id/miScanner"
        android:icon="@drawable/ic_baseline_qr_code_scanner"
        android:iconTint="@color/white"
        app:showAsAction="always"
        />

    <item
        android:title="Add Credit Record"
        android:id="@+id/miAddCreditRecord"
        />

</menu>
没有 showAsAction='always' 的项目没有在我的应用程序中显示标题。
我的 java 代码膨胀菜单。
@Override
public void onCreateOptionsMenu(@NonNull Menu menu, @NonNull MenuInflater inflater) {
    super.onCreateOptionsMenu(menu, inflater);
    inflater.inflate(R.menu.menu_sale, menu);
}

@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
    int id = item.getItemId();
    switch (id) {
        case R.id.miScanner:
            scanCode();
            break;
        case R.id.miAddCreditRecord:
            showBottomSheetDialog();
            break;
    }
    return super.onOptionsItemSelected(item);
}
我的主题theme.xml
<resources xmlns:tools="http://schemas.android.com/tools">
    <!-- Base application theme. -->
    <style name="Theme.AzmiUnaniStore" 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>
    
    <style name="NoActionBar" parent="Theme.AzmiUnaniStore">
        <item name="windowNoTitle">true</item>
        <item name="windowActionBar">false</item>
    </style>

    <style name="BottomSheetDialogTheme" parent="Theme.Design.BottomSheetDialog">
    </style>

    <style name="BottomSheetStyle" parent="Widget.Design.BottomSheet.Modal">
        
    </style>
    
</resources>
可能性
标题显示完美,但是当操作菜单颜色为白色且背景也为白色时,我无法看到标题。
谢谢

最佳答案

问题是弹出菜单中的文本颜色。
添加 app:popupTheme MaterialToolbar 中的属性.

    <com.google.android.material.appbar.MaterialToolbar
        app:popupTheme="@style/AppTheme.PopupOverlay" 
        ../>
和:
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.MaterialComponents.Toolbar.Primary" >
    <!-- text color -->
    <item name="android:textColor">@color/...</item>  
</style>
enter image description here

关于java - 菜单项标题未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67386269/

相关文章:

java - Derby 查询非常慢

javascript - 使用 Vaadin 将 Google map API key 实现到 Java 项目中

android - 如何使用Windows API播放具有定义的分贝值的音频文件?

android studio 在预览中不显示标题栏

android - 处理没有 MENU 键的 Android 设备

jquery - 这种菜单样式叫什么?

java - Axis2 甚至可以使用 BASIC 身份验证

java - 检查字符串是否是有效的 JSON 字符串?

digital-signature - Android 应用程序的 "./META-INF/CERT.RSA"文件中包含什么?

javascript - Onclick 菜单打开缓慢