黑暗模式

作者: 小耗子_20da | 来源:发表于2020-04-02 17:18 被阅读0次

    1、继承主题

    Theme.AppCompat.DayNight.NoActionBar
    //或者
    Theme.MaterialComponents.DayNight
    
        <!-- Base application theme. -->
        <style name="AppTheme" parent="Theme.MaterialComponents.DayNight">
            <!-- Customize your theme here. -->
            <item name="colorPrimary">@color/colorPrimary</item>
            <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
            <item name="colorAccent">@color/colorAccent</item>
        </style>
    

    2、Theme.MaterialComponents.DayNight模式下常用的资源

    ?android:attr/textColorPrimary //这是一种通用型文本颜色。它在浅色主题背景下接近于黑色,在深色主题背景下接近于白色。该颜色包含一个停用状态。
    ?attr/colorControlNormal  //一种通用图标颜色。该颜色包含一个停用状态。
    ?android:attr/colorBackground //背景颜色
    
    ?attr/colorSurface 
    ?attr/colorOnSurface
    

    3、res资源适配

    在res下添加values-night文件夹,黑暗模式下的资源方在该文件夹下,如图


    values-night

    4、java中判断是否为黑暗模式

           //Configuration.UI_MODE_NIGHT_YES;//黑暗主题
           //Configuration.UI_MODE_NIGHT_NO;//非黑暗主题
            int mMode = context.getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
            if (mMode == Configuration.UI_MODE_NIGHT_YES) {
            } else {
            }
    

    相关文章

      网友评论

        本文标题:黑暗模式

        本文链接:https://www.haomeiwen.com/subject/engxphtx.html