"自定义View使用继承FrameLayout实现,但是上层子View被覆盖了"\n\n如果使用继承FrameLayout的方式实现自定义View,并且上层子View被覆盖了,可能是因为在自定义View的代码中没有正确处理子View的位置和大小。\n\n要解决这个问题,可以尝试以下几个步骤:\n\n1. 确保在自定义View的onMeasure方法中正确计算子View的大小和位置。在onMeasure方法中,可以使用MeasureSpec来测量子View的大小,并使用MeasureSpec.makeMeasureSpec方法来创建一个新的MeasureSpec。\n\n2. 确保在自定义View的onLayout方法中正确设置子View的位置。在onLayout方法中,可以使用子View的layout方法来设置子View的位置。\n\n3. 确保在自定义View的onDraw方法中正确绘制子View。在onDraw方法中,可以使用子View的draw方法来绘制子View。\n\n4. 确保在自定义View的构造方法中添加子View。在构造方法中,可以使用addView方法来添加子View。\n\n如果仍然无法解决问题,可以尝试使用其他布局容器,如LinearLayout或RelativeLayout,来实现自定义View。这些布局容器提供了更灵活的布局方式,可以更容易地控制子View的位置和大小。


原文地址: https://www.cveoy.top/t/topic/p1TL 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录