2016-05-22 4 views
0

Я пытаюсь изменить стиль контекстная Action Bar, используя этот фрагментКак изменить стиль CAB на Android?

<style name="AppTheme.Reader" parent="AppTheme"> 
    <item name="android:actionModeStyle">@style/AppTheme.ActionMode</item> 
    <item name="actionModeStyle">@style/AppTheme.ActionMode</item> 
</style> 

<style name="AppTheme.ActionMode" parent="Widget.AppCompat.ActionMode"> 
    <item name="background">@color/white</item> 
    <item name="titleTextStyle">@style/AppTheme.ActionMode.Title</item> 
    <item name="subtitleTextStyle">@style/TextAppearance.AppCompat.Widget.ActionMode.Subtitle</item> 
</style> 

и установка темы в правой деятельности

android:theme="@style/AppTheme.Reader" 

Тогда я использовал

TextView.setCustomSelectionActionModeCallback() 

Чтобы перехватить выделенный текст, но когда он появляется в CAB, он имеет стиль по умолчанию и кажется, что мой обычай не был применен.

Где я ошибаюсь?

ответ

0

Попробуйте использовать последнюю версию поддержки (на данный момент: v23.4.0). Зависит от того, где наследуется родительский «AppTheme», он может работать или не работать, но если вы попытаетесь наследовать тему «AppCompat», следующее должно работать, и после того, как вы увидите белый фон, вы можете заполнить остальные атрибуты:

<style name="AppTheme" parent="Theme.AppCompat"> 
    <item name="actionModeStyle">@style/ActionModeTheme</item> 
</style> 

<style name="ActionModeTheme" parent="@style/Widget.AppCompat.ActionMode"> 
    <item name="background">@color/white</item> 
</style> 

конечно предполагающей <color name="white">#fff</color> определяется в colors.xml