在android中提取视图和xml

时间:2010-08-09 19:32:02

标签: android

如何在android中的主屏幕上绘制动态视图。

例如,我使用setContentView(R.layout.main)显示主屏幕; 这会绘制许多小部件,并包含以这种方式在main.xml中定义的图像:

<ImageView
android:id="@+id/myImageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/sinewave"/>

现在,如果我想在此图像上绘制矩形,我该怎么办? 感谢您的时间。

2 个答案:

答案 0 :(得分:0)

在屏幕上绘制内容而不是使用预定义的小部件:

您可以创建自定义视图类。

public class yourCustomView extends View {
}

您将该自定义视图添加到xml布局。

<view class="your.package.path.yourCustomView"
    android:id="@+id/myView"
    android:layout_width="fill_parent"
    android:layout_height="50dip"
    /**you can add other xml attributes that are defined for View**/
/>

你重写onDraw()方法,让它在画布上绘制你想要的东西。

@Override
protected void onDraw(Canvas canvas) {
    /**draw stuff here**/
}

答案 1 :(得分:0)

如果使用XML布局,请确保使用此构造函数:

public yourCustomView(Context context, AttributeSet attrs) { 
    super(context, attrs); 
}