Android拖动改变小球位置


1. 引言

    在模拟器中按下鼠标并拖动,使小球跟随鼠标的变化而变化。

2. 功能实现

  1. package com.focus.fishme.web;   
  2. import Android.app.Activity;   
  3. import android.content.Context;   
  4. import android.graphics.Canvas;   
  5. import android.graphics.Color;   
  6. import android.graphics.Paint;   
  7. import android.os.Bundle;   
  8. import android.view.MotionEvent;   
  9. import android.view.View;   
  10. import android.view.Window;   
  11. import android.view.WindowManager;   
  12. public class ScrollBallActivity extends Activity {   
  13.     private float x = 100;   
  14.     private float y = 100;   
  15.        
  16.     private Ball ball = null;   
  17.     @Override  
  18.     public void onCreate(Bundle savedInstanceState) {   
  19.         super.onCreate(savedInstanceState);   
  20.         requestWindowFeature(Window.FEATURE_NO_TITLE);   
  21.         getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);   
  22.         ball = new Ball(this);   
  23.            
  24.         setContentView(ball);   
  25.     }   
  26.     @Override  
  27.     public boolean onTouchEvent(MotionEvent event) {   
  28.         x = event.getX();   
  29.         y = event.getY();   
  30.            
  31.         switch(event.getAction()) {   
  32.             case MotionEvent.ACTION_DOWN:      
  33.                 ball.invalidate();     
  34.                 break;     
  35.             case MotionEvent.ACTION_UP:      
  36.                 ball.invalidate();     
  37.                 break;     
  38.             case MotionEvent.ACTION_MOVE:     
  39.                 ball.invalidate();     
  40.                 break;     
  41.         }   
  42.            
  43.         return super.onTouchEvent(event);   
  44.     }   
  45.     class Ball extends View {   
  46.         public Ball(Context context) {   
  47.             super(context);   
  48.         }   
  49.         @Override  
  50.         protected void onDraw(Canvas canvas) {   
  51.             Paint paint = new Paint();   
  52.             paint.setColor(Color.GREEN);   
  53.                
  54.             canvas.drawCircle(x, y, 10, paint);   
  55.             super.onDraw(canvas);   
  56.         }   
  57.     }   
  58. }  

相关内容