Android自定义的View闪烁问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android自定义的View闪烁问题相关的知识,希望对你有一定的参考价值。

如下view代码在运行时,红色区域竟然会闪烁,请问是什么原因,谢谢!onDraw方法代码如下(构造方法默认,onMeasure定义宽高随意,推荐都大于200,handler的hanleMessage调用invalidate刷新绘图,也就是每隔1s刷新一次,但不知道为什么刷新时红色区域会闪烁): @Override protected void onDraw(Canvas canvas) circlePath.addRect(0,0,getWidth(),getHeight(), Path.Direction.CW); circlePath.addCircle(mWidth / 2, mHeight / 2, mCircleRadius - 100, Path.Direction.CW); circlePath.setFillType(Path.FillType.EVEN_ODD); canvas.drawPath(circlePath,bgPaint); handler.sendEmptyMessageDelayed(1,1000);

我认为可能是你每秒重绘一次的原因,先清空了画布再绘制画布,所以造成闪烁的感觉,与listView 刷新一样,也会闪烁。
把Path circlePath = new Path();放在onDraw() 里面可避免闪烁
参考技术A 方方圆圆,自会变通追问

什么啊?

以上是关于Android自定义的View闪烁问题的主要内容,如果未能解决你的问题,请参考以下文章

Android 自定义View

Android自定义View

android自定义的dialog怎么设置view

Android自定义View

Android自定义View

android自定义的dialog怎么设置view