如何在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"/>
现在,如果我想在此图像上绘制矩形,我该怎么办? 感谢您的时间。
答案 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);
}