日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android support library github,Android Support Library 之 夜间模式

發布時間:2024/7/23 Android 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android support library github,Android Support Library 之 夜间模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原標題:Android Support Library 之 夜間模式

前言

夜間模式實現方式:1、通過切換theme來實現夜間模式。優點:可以匹配多套主題,并不局限于黑白模式缺點:需要大量定義主題詳見博客:http://wuxiaolong.me/2015/08/19/ChangeTheme/

2、通過修改uiMode來切換夜間模式。修改uimode是修改Configuration,這種主題切換只限于黑白模式,沒有其他模式,不需要大量定義主題,即本文介紹的內容。

效果預覽

如何使用

第一步

(1)app/build.gradle

compile'com.android.support:appcompat-v7:25.3.1'

(2)Activity須繼承AppCompatActivity

(3)Theme.AppCompat.DayNight

@color/colorPrimary

@color/colorPrimaryDark

@color/colorAccent

false

true

第二步

應用全局主題推薦在 Application 的onCreate()中進行設置AppCompatDelegate.setDefaultNightMode(int mode);

它有四個可選值,分別是:MODE_NIGHT_NO: 使用亮色(light)主題,不使用夜間模式MODE_NIGHT_YES:使用暗色(dark)主題,使用夜間模式MODE_NIGHT_AUTO:根據當前時間自動切換 亮色(light)/暗色(dark)主題MODE_NIGHT_FOLLOW_SYSTEM(默認選項):設置為跟隨系統,通常為 MODE_NIGHT_NO

第三步

動態的設定主題,需要切換主題調用:

AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);

//調用recreate()使設置生效

recreate();

注意事項

setDefaultNightMode()與setLocalNightMode()區別

AppCompatDelegate.setDefaultNightMode()是對整個App中theme為DayNight主題生效getDelegate().setLocalNightMode()只對特定的組件生效

夜間資源

把夜晚主題的color等資源放在values-night中,程序在運行時就會自動調用

獲取應用當前的主題

intcurrentNightMode=getResources().getConfiguration().uiMode

&Configuration.UI_MODE_NIGHT_MASK;

switch(currentNightMode){

caseConfiguration.UI_MODE_NIGHT_NO:

// Night mode is not active, we're in day time

caseConfiguration.UI_MODE_NIGHT_YES:

// Night mode is active, we're at night!

caseConfiguration.UI_MODE_NIGHT_UNDEFINED:

// We don't know what mode we're in, assume notnight

}

如果切換了主題,本想通過這個方法,下次啟動程序的時候,來設置。發現并沒有記住這個值,還是只能SharedPreference讀取,然后根據用戶設置,調用 setDefaultNightMode() 方法。

適配文字圖片

盡可能的使用主題屬性(theme attributes)

文字顏色

android:textColor="?android:attr/textColorPrimary"

android:textColor="?android:textColorPrimary"

系統默認的文字顏色。在亮色(light)主題下,顏色接近黑色,在暗色(dark)主題下,顏色接近白色。有兩種寫法,次標題和三標題同樣。

次標題

android:textColor="?android:attr/textColorSecondary"

三標題

android:textColor="?android:attr/textColorTertiary"

系統默認的背景顏色

android:background="?android:attr/colorBackground"

android:background="?android:colorBackground"

點擊效果

android:background="?android:attr/selectableItemBackground"

android:background="?android:selectableItemBackground"

android:background="?attr/selectableItemBackground"

系統默認的圖標顏色

如vector里顏色:

android:fillColor="?attr/colorControlNormal"

源碼地址

https://github.com/WuXiaolong/DesignSupportLibrarySample

iOS 用戶贊賞通道,謝謝支持

責任編輯:

總結

以上是生活随笔為你收集整理的android support library github,Android Support Library 之 夜间模式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。