MenuItem
アプリのアクション バーの の 1 つを、その値に基づいて色を変更したいと考えています。デフォルトのスタイルを保持する必要がある他の項目があるため、アクション バー全体にスタイルを適用することはできません。この 1 つの項目だけにスタイルを適用する必要があります。私はそのようなものを使ってみましSpannableString
た:
MenuItem item = getActionBar().findItem(R.id.item_id);
SpannableString colouredString = new SpannableString("Item");
colouredString.setSpan(new ForegroundColorSpan(
booleanStatement ? Color.RED : Color.GREEN
), 0, colouredString.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
item.setTitle(colouredString);
これにより値が正しく設定されますが、アイテムのテキストの色は影響を受けません。私が追加する場合
getActionBar().setTitle(colouredString);
次に、タイトルが期待どおりに設定され、テキストの色が適用されます。全体的なアクションバーのタイトルだけでなく、 s でSpannableString
作業する方法はありますか? MenuItem
または、アクション バーのメニュー項目のテキストの色を設定する別の方法はありますか?