0

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または、アクション バーのメニュー項目のテキストの色を設定する別の方法はありますか?

4

0 に答える 0