自定义ViewGroup及其子类(Linearlayout,Relativelayout,FrameLayout。。。)时onDraw方法没被调用怎么解决

前几天在做2048小游戏的时候自定义了framelayout,当我想在上面画图的时候发现onDraw里面的方法根本就没有被调用,这让我百思不得其解,明明framelayout是viewgroup的子类,而viewgroup是view的子类,在自定义view的时候重写ondraw方法可以画出各式各样的view,为什么在framelayou里ondraw方法就不执行呢?
经过一番查阅资料,发现原因简单来说是这样的,google工程师们是这么分类的,viewgroup是属于容器,view属于内容,于是容器里面的ondraw方法默认设置为不执行。
解决方法如下:
1,在构造函数里面,给其设置一个颜色,如#00000000。
2,在构造函数里面,调用setWillNotDraw(false)。

                                 鄙人水平较低,上文若有错误欢迎指出

你可能感兴趣的:(安卓自定义view)