Android首页灰色实现方案

Activity设置灰色

使用ColorMatrix设置灰度

1
2
3
4
5
6
7
private fun setGrayPaint(view: View) {
val paint = Paint()
val cm = ColorMatrix()
cm.setSaturation(0f)
paint.colorFilter = ColorMatrixColorFilter(cm)
view.setLayerType(View.LAYER_TYPE_HARDWARE, paint)
}

给首页Activity的decorView设置灰度Paint

1
2
3
4
5
6
7
8
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

setContentView(...)

// 需要在 setContentView 之后
setGrayPaint(window.decorView)
}

需要特殊处理的控件

  • 弹框
  • WebView
  • SurfaceView

这些控件由于不是跟activity公用一个window,需要各自单独处理灰度Paint。调用 setGrayPaint(view) 即可。

相关资源

Android实现设置灰白模式效果

作者

Dench

发布于

2022-12-01

更新于

2022-12-01

许可协议

CC BY-NC-SA 4.0

Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×