1
我想将一个画布视图添加到水平滚动视图内的相对布局。Android - canvas onDraw不会触发
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:background="#fff"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/hsv"
android:layout_width="fill_parent"
android:background="#EEDB00"
android:layout_height="30mm">
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/canvas"
android:background="#000"
android:layout_width="300mm"
android:layout_height="20mm">
</RelativeLayout>
</HorizontalScrollView>
</RelativeLayout>
我创建了一个名为CanvasView类扩展视图,我用压倒一切的onDraw()画了一些基本的形状。然而画布不会出现在RelativeLayout的,当我这样做:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
cView = new CanvasView(this);
rLayout = (RelativeLayout)this.findViewById(R.id.canvas);
rLayout.addView(cView);
}
然而,当我直接调用setContentView(cView);
它的作品添加。在挖掘过程中,我发现当我拨打addView()
时,onDraw()
根本没有发射,因此画布没有绘制出来......关于如何解决这个问题的任何想法?
这工作!非常感谢! – jeffreyveon
这是我遇到的同样的问题。我发现为视图添加背景也很有效。 – raydowe