其他分享
首页 > 其他分享> > 无法理解如何使用Theme.AppCompat为棒棒糖之前的设备设置Android应用的样式

无法理解如何使用Theme.AppCompat为棒棒糖之前的设备设置Android应用的样式

作者:互联网

我的大脑即将吹响Android的主题和风格.有人,请帮帮我!
我正在尝试为我的应用程序创建一个主题,以便为Lollipop之前和之后的设备提供尽可能相似的外观.因此,我从Theme.AppCompat.NoActionBar继承了主题,并从AppCompatActivity继承了我的活动,并设置了colorPrimary,colorPrimaryDark和colorAccent.一切顺利.当我尝试设置背景和文本颜色的样式时,问题就开始了.我已经设置了android:textColorPrimary和android:textColorSecondary并在Lollipop设备上获得了我想要的东西,但没有在KitKat上得到我想要的东西,所以我为主题添加了textColorPrimary和textColorSecondary属性,然后Android Studio表示无法构建该应用程序因为找不到这些属性.当我尝试添加colorBackground时,也发生了同样的情况.我已经尝试过搜索它,但是无法找到关于哪个主题提供哪些属性以及在我的情况下应该使用什么的有用信息.

解决方法:

您必须创建两个值文件夹,其中一个用于棒棒糖值-v21,一个用于简单棒棒糖值的简单值

对于棒棒糖之前的设备,请参见此样式,只需将其粘贴到values / styles.xml

Styles.xml

<resources>

    <style name="MyMaterialTheme" parent="MyMaterialTheme.Base">

    </style>


    <style name="MyMaterialTheme.TransparentActivity">
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:windowIsTranslucent">true</item>
    </style>

    <style name="MyMaterialTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="android:windowNoTitle">true</item>
        <item name="windowActionBar">false</item>
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="android:textColorPrimary">@color/textColorPrimary</item>
        <item name="android:windowBackground">@color/windowBackground</item>
    </style>
</resources>

查看official documentation on android blog

标签:android-theme,android
来源: https://codeday.me/bug/20191120/2040971.html