Skip to content

Latest commit

 

History

History
8 lines (8 loc) · 566 Bytes

遇到的坑.md

File metadata and controls

8 lines (8 loc) · 566 Bytes

  • 自定义控件继承ViewGroup时,在调用invalidate()之后不执行onDraw方法,网上有说硬件加速原因,关闭之后还是无效,经过排查才发现View有个setWillNotDraw(flase/true)方法,在继承View时为false,也就是说会执行onDraw,而ViewGroup中,以LinearLayout为例,不会执行onDraw方法,所以在初始化时setWillNotDraw(false)使其能够正常执行绘制方法。,
   public void setWillNotDraw(boolean willNotDraw) {
        setFlags(willNotDraw ? WILL_NOT_DRAW : 0, DRAW_MASK);
    }