Android -- setWillNotDraw()

干货                                                                                   

处理onDraw()方法不被执行的解决方法:

setWillNotDraw(false);

官方文档的解释:

If this view doesn‘t do any drawing on its own, set this flag to allow further optimizations. By default, this flag is not set on View, but could be set on some View subclasses such as ViewGroup. Typically, if you override onDraw(Canvas) you should clear this flag.

用法                                                                                   

public class LayoutLayout extends LinearLayout {  
  
        public LayoutLayout (Context context, intposition) {  
                super(context);  
                setWillNotDraw(false);  
        }  
  
        @Override  
        protected void onDraw(Canvas canvas) {   
                super.onDraw(canvas);  
                }  
        }  
}

总结                                                                                   

设置view是否更改,如果用自定义的view,重写ondraw()应该将调用此方法设置为false,这样程序会调用自定义的布局。

我是天王盖地虎的分割线                                                             

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。