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

时间:2015-04-04 14:32:20

标签: java android xml android-styles android-toolbar

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

这是主要的Actionbar:

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>

我正在失去理智...

我做错了什么?

谢谢!

1 个答案:

答案 0 :(得分:1)

尝试将此用于“ActionModeStyle”,应该起作用:

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

而不是“android:colorBackground&gt;你应该只使用”背景“。 我认为最好定义父母。