Android灰色模式

灰色模式,用于适配缅怀活动,或部分节日时用。

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做色彩改变。

作者:奔跑吧李博
链接:https://www.jianshu.com/p/b059d9956ce3

你可能感兴趣的:(安卓开发,android)