Android App灰色模式

很多App在特殊节日将为了缅怀、纪念,会将App调成灰色调展示,比如淘宝,微博,今日头条等。之前我们app也支持了这一属性。

这里我将该功能设置添加在了我得Wanandroid得demo上,效果演示如下:


创建灰色模式设置类:
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)  //设置灰度效果
        }
        paint?.colorFilter = ColorMatrixColorFilter(colorMatrix!!)
    }

    fun setColorThemeMode(view: View) {
        view.setLayerType(View.LAYER_TYPE_HARDWARE, paint)
    }
}

setSaturation方法用于设置矩阵以影响颜色的饱和度,即0为灰色,1为彩色。setColorThemeMode()方法可设置activity的decorview将整个页面改变色彩,也可以单独针对某个view做色彩改变。

你可能感兴趣的:(Android App灰色模式)