今天在做项目的时候自定义了一个View,继承了LinearLayout,结果,里面的onDraw()方法一直无法被调用。
后来发现ViewGroup是默认不调用onDraw()方法的。
原因我们暂且不去深究,有一个很简单的解决方法,那就是不要重写onDraw()方法,而是重写下面的方法:
@Override protected void dispatchDraw(Canvas canvas) { super.dispatchDraw(canvas); }
在该方法里面实现绘制。
Posted 妖久
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决ViewGroup不调用onDraw()的问题相关的知识,希望对你有一定的参考价值。
今天在做项目的时候自定义了一个View,继承了LinearLayout,结果,里面的onDraw()方法一直无法被调用。
后来发现ViewGroup是默认不调用onDraw()方法的。
原因我们暂且不去深究,有一个很简单的解决方法,那就是不要重写onDraw()方法,而是重写下面的方法:
@Override protected void dispatchDraw(Canvas canvas) { super.dispatchDraw(canvas); }
在该方法里面实现绘制。
以上是关于解决ViewGroup不调用onDraw()的问题的主要内容,如果未能解决你的问题,请参考以下文章
Android自定义ViewGroup,onMeasureonLayout,实现流式布局