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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容