成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

簡潔優(yōu)雅地實現(xiàn)夜間模式

tomlingtm / 2414人閱讀

摘要:而在正式版中,夜間模式也沒有出現(xiàn)。如何開啟這項功能,可以參考少數(shù)派的這一篇文章,幫你找回夜間模式的款應(yīng)用。毫不夸張的說,夜間模式現(xiàn)在已經(jīng)是閱讀類的標(biāo)配了。事實上,日間模式與夜間模式就是給定義并應(yīng)用兩套不同顏色的主題。

前言

Android 6.0 Marshmallow 預(yù)覽版中曾經(jīng)短暫出現(xiàn)過相關(guān)的夜間模式的功能,只是在正式版中被移除了,在Android 7.0 Nougat上,用戶們再次經(jīng)歷了「得而復(fù)失」的遺憾,在開發(fā)者預(yù)覽版中,夜間模式和暗色模式先是開啟,然后有再次被移除。而在正式版中,夜間模式也沒有出現(xiàn)。但其實相關(guān)的代碼一直存在于系統(tǒng)中,只是默認(rèn)沒有被開啟。如何開啟這項功能,可以參考少數(shù)派的這一篇文章,幫你找回 Android 7.0 夜間模式的 2 款應(yīng)用。

不過,今天要介紹的主要內(nèi)容并不是關(guān)于系統(tǒng)的夜間模式,而是如何給我們開發(fā)的APP添加夜間模式的功能。毫不夸張的說,夜間模式現(xiàn)在已經(jīng)是閱讀類App的標(biāo)配了。事實上,日間模式與夜間模式就是給APP定義并應(yīng)用兩套不同顏色的主題。用戶可以自動或者手動的開啟。我們先看兩個我認(rèn)為實現(xiàn)地很優(yōu)雅的例子:知乎和Twitter。

這兩個APP在切換的工程中,并沒有出現(xiàn)閃現(xiàn)黑屏的情況,切換也比較順滑。我們的目標(biāo)就是利用Support Library實現(xiàn)同樣的效果。

實現(xiàn) 添加依賴
compile "com.android.support:appcompat-v7:25.1.0"

由于Support Library在23.2.0的版本中才添加了Theme.AppCompat.DayNight主題,所以依賴的版本必須是高于23.2.0的,并且,這個特性支持的最低SDK版本為14,所以,需要兼容Android 4.0的設(shè)備,是不能使用這個特性的,在API Level 14以下的設(shè)備會默認(rèn)使用亮色主題。不過現(xiàn)在4.0以下的設(shè)備應(yīng)該比較少了吧,畢竟微信的minSdkVersion都設(shè)置為14了。

準(zhǔn)備資源

讓我們自己的主題繼承并應(yīng)用DayNight主題。

新建夜間模式資源文件夾:在res目錄下新建values-night文件夾,然后在此目錄下新建colors.xml文件在夜間模式下的應(yīng)用的資源。當(dāng)然也可以根據(jù)需要新建drawable-night,layout-night等后綴為-night的夜間資源文件夾。
我的valuesvalues-night目錄下的colors.xml的內(nèi)容如下:




    #009688
    #00796B
    #009688
    #616161
    @android:color/white


              
  
最新活動
閱讀需要支付1元查看
<