挥动的小球
編寫時遇到的問題:聲明int變量時沒有聲明public,在重寫ondraw方法時。沒有繼承,并且沒有canvas;布局時Lineration寫在了外面;重繪的語句不會寫;
第一個文件:
package com.android.test;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.view.View;
public class DrawView extends View {
?? public? float x;
? public? float y;
?public DrawView(Context context) {
??super(context);
??// TODO Auto-generated constructor stub
?}
?public void onDraw(Canvas canvas){
??super.onDraw(canvas);
??Paint paint =new Paint();
??paint.setColor(Color.GREEN);
??canvas.drawCircle(x,y, 15, paint);
?
?}
}
第二個文件:
package com.android.test;
import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.LinearLayout;
public class MoveBallActivity extends Activity {
??? /** Called when the activity is first created. */
??? @Override
??? public void onCreate(Bundle savedInstanceState) {
??????? super.onCreate(savedInstanceState);
??????? setContentView(R.layout.main);
???
??? LinearLayout layout =(LinearLayout)findViewById(R.id.root);
??? final DrawView drawView =new DrawView(this);
??? drawView.setMinimumHeight(400);
??? drawView.setMinimumWidth(400);
??? drawView.setOnTouchListener(new OnTouchListener() {
??
??@Override
??public boolean onTouch(View v, MotionEvent event) {
???drawView.x= event.getX();
???drawView.y= event.getY();
???? drawView.invalidate();
???return true;
??}
?});
??? layout.addView(drawView);
}
}
?
轉載于:https://www.cnblogs.com/benxiong/archive/2013/03/19/2969086.html
總結
- 上一篇: ASM丢失disk header导致OR
- 下一篇: 无法嵌入互操作类型...请改用适用的接口