我用一个新的覆盖了RelativeLayout类:
public class myRelative extends RelativeLayout{
//...
//this function is called but layout is not filled
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
canvas.drawColor(Color.WHITE);
}
//...
}
XML文件如下所示:
<myRelative
android:id="@+id/someid"
android:clipChildren="false"
android:clipToPadding="false"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
....
</....>
此布局的行为与通常的RelativeLayout
相同?为什么没有改变?有什么想法吗?
答案 0 :(得分:2)
尝试在自定义视图的所有构造函数中设置setWillNotDraw(false);
。或者也许您的自定义视图放在xml中,其中父视图也有WHITE
背景。
答案 1 :(得分:1)
布局有特殊优化。如果没有设置背景,则不调用onDraw,因为布局应该是空视图。每次只调用dispatchDraw。