这是我的主题。我正在使用DarkActionBar
,因此标题,后退按钮和溢出图标是白色而不是黑色。
<style name="MyTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
但是,当选择文本时,ActionMode /上下文操作栏是“黑色”背景上的白色文本。
当我删除.DarkActionBar
时,上下文操作栏会在浅灰色处切换为黑色,这对于此应用来说更令人满意。因此,如果我要走这条路线,我需要找到一种不同的方法让主操作栏使用白色前景。
如果在主ActionBar上还有一个明亮的前景,我如何在ActionMode /上下文操作栏上获得浅色背景/黑暗前景?
以下是丹尼尔在评论中提出的建议:
<style name="MyTheme" parent="Theme.AppCompat.Light.DarkActionBar">
...
<item name="actionModeStyle">@style/MyTheme.ActionMode</item>
<item name="actionMenuTextColor">@android:color/black</item>
</style>
<style name="MyTheme.ActionMode" parent="Widget.AppCompat.ActionMode">
<item name="background">@android:color/white</item>
<item name="actionMenuTextColor">@android:color/black</item>
<item name="android:titleTextStyle">@style/MyTheme.ActionMode.TitleText</item>
<item name="android:subtitleTextStyle">@style/MyTheme.ActionMode.TitleText</item>
</style>
<style name="MyTheme.ActionMode.TitleText">
<item name="android:textColor">@android:color/black</item>
</style>
不幸的是,我所能改变的只是背景。所有ActionMode文本和图标仍为白色。
我现在要使用<item name="background">@color/colorPrimary</item>
。它比黑色背景更好。
似乎还有一种方法可以将前景改为黑色,这样我就可以使用Android典型的浅灰色背景。
答案 0 :(得分:0)
我已经按照自己的方式解决了问题但非常简单:
可以为您的主题添加风格的每个图像的所有图形:
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<!-- Override the ActionMode Style -->
<item name="actionModeStyle">@style/ActionMode</item>
<item name="actionModeCloseDrawable">@drawable/ic_action_navigation_close</item>
<!-- Styles inherited from the Base Theme -->
<item name="android:actionModeCutDrawable">@drawable/ic_action_content_content_cut</item>
<item name="android:actionModeCopyDrawable">@drawable/ic_action_content_content_copy</item>
<item name="android:actionModePasteDrawable">@drawable/ic_action_content_content_paste</item>
<item name="android:actionModeSelectAllDrawable">@drawable/ic_action_content_select_all</item>
</style>
<!-- Action Mode -->
<style name="ActionMode" parent="Widget.AppCompat.ActionMode">
<item name="background">@android:color/white</item>
<item name="titleTextStyle">@style/TitleTextStyle</item>
</style>
<!-- Title text of Contextual action bar-->
<style name="TitleTextStyle">
<item name="android:textColor">@android:color/darker_gray</item>
<item name="android:textSize">18sp</item>
</style>
</resources>
幸运的是,Roman Nurik为我们提供了一个很好的工具来获取我们需要的所有资产:
只需使用剪贴画选项(搜索剪切,复制,过去,全选和关闭)
祝你好运,编码愉快!