Holo Light with Dark Actionbar显示Holo Dark复制和粘贴图标

时间:2013-07-27 22:12:39

标签: java android android-actionbar

所以我有一个应用程序是Holo Light with Dark Actionbar,每当我在EditText中复制和粘贴某些东西时,图标都是白色的,所以你看不到它们。屏幕截图位于下方。有什么方法可以解决这个问题吗?谢谢!A screenshot of the bug

2 个答案:

答案 0 :(得分:3)

您必须在onCreateDialog方法中再次手动设置主题。这是框架中的一个错误,但这种解决方法暂时适用:

https://stackoverflow.com/a/19746561/1508506

答案 1 :(得分:1)

我有Theme.AppCompat.Light.DarkActionBar主题的这个问题,我认为这是一个错误。我尝试使用以下内容更改我的风格背景(您可以从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>

用这个:

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

但这些解决方案似乎都不起作用(如果你最终改变背景,请告诉我)所以我决定让白色背景改变图标:

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

注意:您需要在values,values-v11和values-v14中指定styles.xml文件,因为某些属性不是添加或不添加'android'预加。查看API级别的文档:http://developer.android.com/reference/android/R.attr.html#actionModeCopyDrawable