@color/colorprimary
@color/colorprimarydark
@color/coloraccent
新增value-night路徑,設定夜間模式下的color檔案。
正常的color檔案:
#008577
#00574b
#d81b60
#24256e
夜間模式下的color檔案:
#008577
#00574b
#d81b60
#ffffff
接著layout檔案中textview設定文字顏色為text_color;
獲取當前mode的值:
int currentmode=getresources().getconfiguration().uimode& configuration.ui_mode_night_mask;
根據currentmode判斷是否是夜間模式;
其中mode主要有四種:
public static final int mode_night_no = 1; //亮色(light)主題,不使用夜間模式
public static final int mode_night_yes = 2;//暗色(dark)主題,使用夜間模式
public static final int mode_night_auto = 0;//根據當前時間自動切換 亮色(light)/暗色(dark)主題
public static final int mode_night_follow_system = -1;//設定為跟隨系統
這裡只判斷是否是夜間:
if (currentmode!=configuration.ui_mode_night_yes)else
recreate();
記得一定要新增recreat()方法。。。
可以執行看下效果啦如圖:
但是這麼寫會有個問題。recreat()方法呼叫會閃屏。。
這裡有倆方案,自己選擇下:
1:在style中新增
@android:style/animation.toast
2:不使用recreat()方法,重新startactivity並新增跳轉動畫。 android 夜間模式
自7.0開始谷歌提供了夜間模式,用於將螢幕色彩調成較為柔和的琥珀色,但因該模式需要硬體的支援,所以不是所有裝置上都可用,也不常見。夜間模式的開啟和關閉,相關方法 的呼叫,可完全參考設定中的夜間模式,config中預設配置如下,從配置中可見,夜間模式是否能夠生效,主要依賴硬體 是否擁有hwc引入功能,...
android夜間模式實現
我們來 一下夜間模式。問 android夜間模式的實現有幾種?答 有好多種。怎麼用這個方法呢?接下來怎麼去自定義自己的日夜間模式呢?方法與之前的nightmodehelper類似,建立帶 night字尾的資料夾 比如 values night 然後新增你的資源檔案,資源檔案需要相同的命名 比如 co...
Android 夜間模式changeskin小結
author vivian8725118 csdn 近期公司的專案在做夜間模式,使用了鴻洋的changeskin。乙個很好用的library。在這裡總結一下使用過程中遇到的各種問題和解決的方法。dependencies或者直接加入依賴 dependenciesps 之前是加入了依賴,後來為了支援自己...