2013-07-27 9 views
5

, więc mam aplikację, która jest Holo Light z Dark Actionbar i kiedy idę skopiować i wkleić coś w EditText, ikony są białe, więc nie widzisz im. Zrzut ekranu znajduje się poniżej. Czy istnieje sposób na rozwiązanie tego problemu? Dzięki! A screenshot of the bugHolo Light z Dark Actionbar pokazującym Holo Dark kopiować i wklejać ikony

+0

Czy jesteś pewien, że używasz kontekstu aktywności? Przypadkowe użycie kontekstu aplikacji może mieć takie efekty, ponieważ kontekst aplikacji nie używa/nie zna motywu. – zapl

+0

Gdzie powinienem używać kontekstu działania w przeciwieństwie do kontekstu aplikacji? Przepraszam, jestem nieco zdezorientowany. – ollien

+0

Jeśli używasz kontekstu aplikacji podczas konstruowania interfejsu użytkownika (niejawnie lub jawnie za pomocą 'LayoutInflater',' Resources', ...) otrzymasz uszkodzony motyw. Jeśli użyjesz kontekstu działania ('this' wewnątrz' Activity'/'.getActivity()' wewnątrz 'Fragment') wszystko powinno być w porządku. To tylko przypuszczenie, że możesz używać niewłaściwego kontekstu. – zapl

Odpowiedz

0

Mam problem z motywem Theme.AppCompat.Light.DarkActionBar i myślę, że to błąd. Próbowałem zmienić tło w moim stylu z następujących (można uzyskać kanału alfa z http://jgilfelt.github.io/android-actionbarstylegenerator/):

<!-- styles.xml --> 
<style name="Theme.MyThemeLightBase" parent="@style/Theme.AppCompat.Light.DarkActionBar"> 
    <item name="actionModeBackground">@drawable/cab_background_top</item> 
    <item name="android:actionModeBackground">@drawable/cab_background_top</item> 
</style> 

iz tym:

<!-- styles.xml --> 
<style name="Theme.MyThemeLightBase" parent="@style/Theme.AppCompat.Light.DarkActionBar"> 
    <item name="actionModeStyle">@style/my_action_mode_style</item> 
    <item name="android:actionModeStyle">@style/my_action_mode_style</item> 
</style> 
<style name="my_action_mode_style" parent="@style/Widget.AppCompat.Light.ActionMode.Inverse"> 
    <item name="android:background">@drawable/cab_background_top</item> 
</style> 

Ale żaden z tych rozwiązań wydaje się działać (proszę daj mi znać, jeśli w końcu dostać się do zmiany tła), więc postanowiłem niech białe tło i po prostu zmienić ikony:

<!-- styles.xml --> 
<style name="Theme.MyThemeLight" parent="Theme.MyThemeLightBase"> 
    <item name="actionModeSelectAllDrawable">@drawable/ic_menu_selectall_holo_light</item> 
    <item name="android:actionModeSelectAllDrawable">@drawable/ic_menu_selectall_holo_light</item> 
    <item name="actionModeCutDrawable">@drawable/ic_menu_cut_holo_light</item> 
    <item name="android:actionModeCutDrawable">@drawable/ic_menu_cut_holo_light</item> 
    <item name="actionModeCopyDrawable">@drawable/ic_menu_copy_holo_light</item> 
    <item name="android:actionModeCopyDrawable">@drawable/ic_menu_copy_holo_light</item> 
    <item name="android:actionModePasteDrawable">@drawable/ic_menu_paste_holo_light</item> 
    <item name="actionModePasteDrawable">@drawable/ic_menu_paste_holo_light</item> 
</style> 

Uwaga: Musisz określić plik styles.xml w wartości, wartości-v11 i wartości-v14, ponieważ niektóre atrybuty nie są wymagane z lub bez przedrostka "android". Sprawdź dokumentację poziomu interfejsu API: http://developer.android.com/reference/android/R.attr.html#actionModeCopyDrawable

Powiązane problemy