java - ActionMode 样式覆盖我的 Android 应用程序中的主 ActionBar

标签 java android xml android-styles android-toolbar

我正在使用 AppCompat 主题构建 Android 应用程序,但在应用程序中设置 ActionMode 主题时遇到问题。 我正在尝试为此添加新样式,但它似乎覆盖了主操作栏,我不知道为什么......

这是主操作栏:

enter image description here

当我尝试复制文本时...

enter image description here

这是我的操作栏布局:

<android.support.v7.widget.Toolbar
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/toolbar_actionbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    app:theme="@style/ActionBarThemeOverlay"
    app:popupTheme="@style/PopupMenuStyle">

最后,这是我的 style.xml:

<style name="AppTheme" parent="Theme.AppCompat.Light">
        <item name="android:textColorPrimary">#808080</item>
        <item name="windowActionModeOverlay">true</item>
        <item name="windowActionBar">false</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:spinnerItemStyle">@style/Spinner.spnItem</item>
        <item name="android:spinnerDropDownItemStyle">@style/Spinner.spnItemDropDown</item>
        <item name="colorAccent">@color/primarycolor</item>
        <item name="actionModeStyle">@style/ActionModeStyle</item>
    </style>

    <style name="ActionBarThemeOverlay" parent="ThemeOverlay.AppCompat.ActionBar">
        <item name="android:textColorPrimary">@color/white</item>
        <item name="android:textColorSecondary">@color/white</item>
        <item name="colorControlNormal">#fff</item>
        <item name="colorControlHighlight">#fff</item>
        <item name="android:background">@color/primarycolor</item>
    </style>

    <style name="PopupMenuStyle">
        <item name="android:background">@color/white</item>
        <item name="android:popupBackground">@color/white</item>
        <item name="android:textColorPrimary">@android:color/black</item>
    </style>

    <style name="ActionModeStyle">
        <item name="android:colorBackground">@color/primarycolor</item>
    </style>

我快疯了……

我做错了什么?

谢谢!

最佳答案

尝试将其用于“ActionModeStyle”,应该可以:

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

您应该仅使用“背景”,而不是“android:colorBackground>”。 我认为最好定义一个 parent 。

关于java - ActionMode 样式覆盖我的 Android 应用程序中的主 ActionBar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29447608/

相关文章:

java - 在 Windows 启动时运行 Java 应用程序

android - 在android中上传文件以及其他字符串参数

java - beans.xml Spring CXF 中的奇怪验证错误

java - JScrollPane 在 JPanel 的剩余区域上最大化嵌入组件

java - .equals 方法的混淆

java - Android 中基于一个 handle 旋转和缩放 View

android - 添加 Google Analytics 后无法生成 APK,但在 Debug模式下工作正常

python - 如何反序列化由 to_xml() 在 google appengine 中创建的 xml

c# - 如果我从 XDocument 创建 XElements 列表,是否会在内存中创建元素列表的新副本?

java - 小部分 JSON 的自定义处理