【问题标题】:Android Styles don't work correctly in API < 21Android 样式在 API < 21 中无法正常工作
【发布时间】:2016-07-20 15:45:07
【问题描述】:

我在 API

我的问题是这样的: https://s31.postimg.org/rnmmt6tvv/background_tint.png

我尝试使用编辑器更改 API 19 中的值,但我不能。

style.xml

<resources>

    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="android:colorBackground">@color/background_catafeira_light</item>
    </style>

    <style name="AppTheme.SolidActionBar" parent="AppTheme">
        <item name="android:actionBarStyle">@style/AppTheme.Widget.AboutActionBar</item>
        <item name="actionBarStyle">@style/AppTheme.Widget.AboutActionBar</item>
        <item name="android:windowActionBarOverlay">true</item>
        <item name="windowActionBarOverlay">true</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDarkAbout</item>
        <item name="android:textColor">@android:color/white</item>
    </style>

    <style name="AppTheme.Widget.AboutActionBar" parent="Widget.AppCompat.ActionBar.Solid">
        <item name="background">@null</item>
        <item name="android:background">@null</item>
        <item name="elevation">0dp</item>
    </style>

    <style name="AppTheme.NoActionBar" parent="Theme.AppCompat.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>

    <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />

    <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />

</resources>

style.xml(v21)

<resources>

    <style name="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
        <item name="android:windowDrawsSystemBarBackgrounds">true</item>
        <item name="android:statusBarColor">@android:color/transparent</item>
    </style>

    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="android:colorBackground">@color/background_catafeira_light</item>
        <item name="android:statusBarColor">@color/colorPrimary</item>
    </style>

</resources>

我正在使用 targetApi 23。如何在不手动设置背景的情况下解决此问题? 对不起我的英语,提前谢谢。

【问题讨论】:

    标签: android


    【解决方案1】:

    BackgroundTint 在 API 19 中不存在。它是在 API 21 中添加的。您无法在 API 19 中更改它,因为它在那里不存在。如果您在 v19 中需要该功能,则需要使用支持库或以其他方式实现。

    【讨论】:

    • 谢谢,你知道一些支持库建议吗?
    • 正常的支持库有DrawableCompat。您需要一些代码才能使其工作,但它会着色。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-08
    • 2020-06-09
    • 1970-01-01
    相关资源
    最近更新 更多