2

嘗試使用android-support-v7-appcompat設置操作欄文本顏色時遇到了很多麻煩。我能夠將選擇器顏色從默認顏色更改爲淺灰色,但現在當我選擇文本顏色也會發生變化時。我希望用戶進行選擇時文本顏色保持黑色。有任何想法嗎?謝謝!更改操作欄菜單爲appcompat選擇的文本顏色

Text Color needs to stay black

回答

7

,這並獲得成功

<style name="AppTheme.AppCompat.Light" parent="@style/Theme.AppCompat.Light"> 
     <item name="android:itemTextAppearance">@style/MenuTextAppearance</item>  
</style> 

<style name="MenuTextAppearance"> 
     <item name="android:textColor">@android:color/black</item> 
</style> 

此外,我發現你可以使用一個spannable字符串以編程方式自定義的菜單項的文本顏色。這引起了應用程序中使用appcompay-V7但是別人已經成功與福爾摩斯,全息等。例如,當崩潰:

@Override 
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { 
    inflater.inflate(R.menu.your_menu, menu); 

    int positionOfMenuItem = 0; // or whatever... 
    MenuItem item = menu.getItem(positionOfMenuItem); 
    SpannableString s = new SpannableString("My red MenuItem"); 
    s.setSpan(new ForegroundColorSpan(Color.RED), 0, s.length(), 0); 
    item.setTitle(s); 
} 

https://stackoverflow.com/a/19008593/2820963

如果你想不同的菜單項有不同,這將是巨大的顏色。

0

我相信這是對選擇項的風格,所以你需要明確定義,當一個項目被選中或您的應用程序將恢復爲默認的文字顏色的文本顏色。該屬性應該是這樣的,我的themes.xml android:textColorHighlight

+0

感謝您的迴應,但我找到了不同的解決方案。 – John