2013-02-14 5 views
3

Я разрабатываю приложение для Android и в своем приложении я использую панель действий Шерлока. Я использую какое-то меню в своей панели действий.изменение цвета текста текста и размер меню панель действия Android

<menu xmlns:android="http://schemas.android.com/apk/res/android"> 

<item android:id="@+id/card_menu" 
     android:title="C123" 
     android:showAsAction="always"> 
    <menu> 
     <item android:id="@+id/C0" 
       android:title="C0"/> 
     <item android:id="@+id/c1" 
       android:title="c1" /> 
     <item android:id="@+id/c2" 
       android:title="c2" /> 
    </menu> 
    </item> 
<item android:id="@+id/notification" 
    android:title="Notifications" 
    android:showAsAction="always" 
    android:actionLayout="@layout/notification_icon" 
    android:icon="@drawable/notification" 
    /> 
<item android:id="@+id/filter" 
    android:icon="@drawable/filter" 
    android:title="Filter" 
    android:showAsAction="always" 
    /> 

</menu> 

и я это меню в моей деятельности, как это ..

inflater.inflate(R.menu.menu_type2, menu); 

теперь, что я хочу сделать, это я хочу изменить цвет заголовка моего пункта меню (C123). Я могу изменить цвет подменю из стиля, но не смог изменить этот текст элемента. Я пробовал это следующим образом.

// this change my sunbmenu text color but I am not able to change color of item text(c123) 
<item name="android:dropDownListViewStyle">@style/MyPopupMenu</item> 
<item name="dropDownListViewStyle">@style/MyPopupMenu</item> 

<style name="MyPopupMenu" parent="Widget.Sherlock.ListPopupWindow"> 
<item name="android:textAppearance">@style/TextAppearance.Sherlock.Widget.PopupMenu</item> 
<item name="android:dropDownSelector">@color/white</item> 
<item name="android:dividerHeight">@dimen/divider_height</item> 
<item name="android:divider">@color/maroon</item> 

</style> 

<style name="TextAppearance.Sherlock.Widget.PopupMenu" parent="android:style/TextAppearance.Holo.Widget.ActionBar.Menu"> 
<item name="android:textColor">@color/white</item> 
</style> 

Я хочу изменить этот стиль изменения стиля и цвет текста текста, а также фон этого. Как это сделать. Нужна помощь .. Спасибо ..

ответ

2

Вы можете изменить цвет текста MenuItem легко с помощью SpannableString вместо String.

@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); 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^