Android 自定义 RelativeLayout 避免图案被子 View 挡住
在自定义 RelativeLayout 的 onDraw 方法中绘制的图案会被子 View 挡住,这是因为 onDraw 方法是在子 View 绘制之后调用的。要解决这个问题,你可以使用 dispatchDraw 方法来绘制图案,这个方法会在子 View 绘制之后调用。
下面是一个示例代码:
public class CustomRelativeLayout extends RelativeLayout {
public CustomRelativeLayout(Context context) {
super(context);
}
public CustomRelativeLayout(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void dispatchDraw(Canvas canvas) {
super.dispatchDraw(canvas);
// 在子 View 绘制之后绘制图案
drawPattern(canvas);
}
private void drawPattern(Canvas canvas) {
// 绘制图案的代码
}
}
通过重写 dispatchDraw 方法,在子 View 绘制之后再绘制图案,这样图案就不会被子 View 挡住了。
原文地址: https://www.cveoy.top/t/topic/ETy 著作权归作者所有。请勿转载和采集!