很多App在特殊節(jié)日將為了緬懷佣蓉、紀(jì)念兆解,會(huì)將App調(diào)成灰色調(diào)展示馆铁,比如淘寶,微博锅睛,今日頭條等埠巨。之前我們app也支持了這一屬性。
這里我將該功能設(shè)置添加在了我得Wanandroid得demo上现拒,效果演示如下:
創(chuàng)建灰色模式設(shè)置類:
import android.graphics.ColorMatrix
import android.graphics.ColorMatrixColorFilter
import android.graphics.Paint
import android.view.View
object GrayManager {
private var paint: Paint?= null
private var colorMatrix: ColorMatrix?= null
init {
paint = Paint()
colorMatrix = ColorMatrix().apply {
setSaturation(0f) //設(shè)置灰度效果
}
paint?.colorFilter = ColorMatrixColorFilter(colorMatrix!!)
}
fun setColorThemeMode(view: View) {
view.setLayerType(View.LAYER_TYPE_HARDWARE, paint)
}
}
setSaturation方法用于設(shè)置矩陣以影響顏色的飽和度辣垒,即0為灰色,1為彩色印蔬。setColorThemeMode()方法可設(shè)置activity的decorview將整個(gè)頁面改變色彩勋桶,也可以單獨(dú)針對(duì)某個(gè)view做色彩改變。