【问题标题】:How to use different text colours for different overflow menu items如何为不同的溢出菜单项使用不同的文本颜色
【发布时间】:2014-09-24 22:18:00
【问题描述】:

我的溢出菜单中有 3 个菜单项,我希望每个项的文本具有我选择的不同颜色(基于我的应用程序中的资源 - 例如)。我怎样才能做到这一点?下面的代码将所有项目的文本更改为蓝色(这不是我想要的)。我只希望其中一个是蓝色的,第二个是红色的,第三个是绿色的。

<style name="ThemeCustom">
    <item name="android:textColor">@color/blue</item>        
</style>

【问题讨论】:

    标签: android xml android-layout android-intent android-activity


    【解决方案1】:

    将菜单项添加到溢出菜单后,在准备 java 文件中的选项时修改菜单项文本的前景色。

    例如在OnPrepareOptions菜单方法中,获取菜单项的标题,修改每个菜单项的前景色

    public boolean onPrepareOptionsMenu(Menu menu) {
            MenuItem mi = menu.getItem(itemID);
            String title = mi.getTitle().toString();
            Spannable newTitle = new SpannableString(title);        
            newTitle.setSpan(new ForegroundColorSpan(Color.BLUE), 0, newTitle.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
            mi.setTitle(newTitle);
    
        return true;
    }
    

    您可以通过 for 循环对其进行迭代以获取菜单项列表并更改每个标题集的前景色。

    【讨论】:

      猜你喜欢
      • 2012-07-21
      • 1970-01-01
      • 2023-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-29
      相关资源
      最近更新 更多