2013-07-27 4 views
5

so habe ich eine App, die Holo Light mit Dark Actionbar ist und wenn ich etwas in einen EditText kopieren und einfügen gehen, sind die Symbole weiß, so dass Sie nicht sehen können Sie. Ein Screenshot befindet sich darunter. Gibt es eine Möglichkeit, dies zu beheben? Vielen Dank!Holo Light mit Dark Actionbar zeigt Holo Dark Kopieren und Einfügen Symbole

+0

Sind Sie sicher, dass Sie den Aktivitätskontext verwenden? Die zufällige Verwendung des App-Kontextes kann solche Effekte haben, da der App-Kontext das Thema nicht verwendet/kennt. – zapl

+0

Wo sollte ich den Aktivitätskontext im Gegensatz zum Anwendungskontext verwenden? Tut mir leid, ich bin etwas verwirrt. – ollien

+0

Wenn Sie den App-Kontext beim Erstellen des UIs verwenden (implizit oder explizit mit 'LayoutInflater',' Resources', ...), erhalten Sie ein defektes Thema. Wenn Sie den Aktivitätskontext ('this' innerhalb von' Activity'/'.getActivity()' innerhalb von 'Fragment') verwenden, sollte alles in Ordnung sein. Es ist nur eine Vermutung, dass Sie den falschen Kontext verwenden könnten. – zapl

Antwort

0

Ich habe dieses Problem mit Theme.AppCompat.Light.DarkActionBar Thema und ich denke, es ist ein Fehler. Ich versuchte, den Hintergrund in meinem Stil mit der folgenden ändern (können Sie die Drawables von http://jgilfelt.github.io/android-actionbarstylegenerator/ erhalten):

<!-- 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> 

Und mit diesen:

<!-- 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> 

Aber keines dieser erscheint Lösungen zu arbeiten (bitte lassen Sie mich wissen, wenn Sie endlich den Hintergrund zu ändern bekommen), so habe ich beschlossen, den weißen Hintergrund zu lassen und nur die Symbole ändern:

<!-- 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> 

Hinweis: Sie benötigen eine styles.xml Datei angeben, in Werte, Werte - v11 und Werte - v14, weil einige Attribute nicht mit oder ohne das Präfix 'android' hinzugefügt werden müssen. Überprüfen Sie die Dokumentation für API-Ebene: http://developer.android.com/reference/android/R.attr.html#actionModeCopyDrawable

Verwandte Themen