所以我有这个扩展 Activity 的类(class)。但是我想在屏幕上画一些东西,所以我需要制作一个 Canvas 。但是我不能扩展 View ,因为它已经是一个 Activity 了。我该怎么办?
我的 Activity 有 onClick 方法,我用它来做一些事情,但我想做的是在调用 onClick 方法时绘制一个简单的图像。
谢谢。
public class Stuff extends Activity implements OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
(...)
}
@Override
public void onClick(View arg0) {
(...)
}
最佳答案
第 1 步:通过扩展 View 创建一个类:
public class DrawView extends View {
public float currentX=40;
public float currentY=50;
public DrawView(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
Paint paint=new Paint();
paint.setColor(Color.RED);
canvas.drawCircle(currentX, currentY, 25, paint);
}
}
第 2 步:在您的资料 Activity 中:
public class Stuff extends Activity implements OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
LinearLayout root=(LinearLayout) findViewById(R.id.root);
(...)
}
@Override
public void onClick(View arg0) {
//DRAW YOUR VIEW ON BUTTON CLICK
final DrawView drawView=new DrawView(this);
drawView.setMinimumWidth(300);
drawView.setMinimumHeight(500);
drawView.currentX=200;
drawView.currentY=200;
drawView.invalidate();
root.addView(drawView);
(...)
}
第 3 步: 您的 Activity main.xml 为:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="#99FFCC"
android:id="@+id/root">
</LinearLayout>
最后尝试在 google 上搜索,然后再在这里提问。谢谢
关于android - 如何创建 Activity View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11269227/