处理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,这样程序会调用自定义的布局。