在 Android 中,自定义 OptionsMenu 的文字颜色可以通过以下几种方法实现:

方法 1:使用主题

可以在 styles.xml 文件中定义自定义主题,并设置 android:textColorPrimary 属性。

<resources>
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="android:textColorPrimary">#FF0000</item> <!-- 设置为红色 -->
    </style>
</resources>

方法 2:自定义菜单布局

如果需要更复杂的自定义,可以为菜单项创建自定义布局。在 res/menu 目录下创建一个 XML 文件,例如 menu_item.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <TextView
        android:id="@+id/menu_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#FF0000" <!-- 设置为红色 -->
        android:textSize="16sp"/>
</LinearLayout>

然后在 onCreateOptionsMenu() 中使用该布局:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.your_menu, menu);
    
    MenuItem item = menu.findItem(R.id.your_menu_item);
    View actionView = LayoutInflater.from(this).inflate(R.layout.menu_item, null);
    TextView textView = actionView.findViewById(R.id.menu_text);
    textView.setText("Menu Item");

    item.setActionView(actionView);
    return true;
}

方法 3:使用 Toolbar

如果使用 Toolbar,可以直接设置 TextView 的颜色:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

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

    // 设置 Toolbar 的标题颜色
    toolbar.setTitleTextColor(Color.RED); // 设置为红色
}

总结

  • 使用主题文件可以全局更改 OptionsMenu 文字颜色。
  • 自定义布局允许更大的灵活性。
  • 如果使用 Toolbar,可以直接设置标题的颜色。

选择适合你的项目需求的方法进行设置即可。