2014-09-24 14 views
1

我在我的溢出菜單中有3個菜單項,我希望每個項目的文本都具有不同的顏色(根據我的應用程序中的資源 - 例如)。我怎樣才能做到這一點?下面的代碼將所有項目的文本更改爲藍色(這不是我想要的)。我只希望其中一個是藍色的,第二個是紅色的,第三個是綠色的。如何針對不同的溢出菜單項使用不同的文本顏色

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

回答

0

將菜單項添加到溢出菜單後,在準備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循環來獲取菜單列表項目並更改每個標題集的前景色。

相關問題