Androidの例:Viewコンポーネントをカスタマイズすることで指に従って移動するウサギを実現


技術のポイント:
まずandroidを継承する必要があります.view.Viewクラス、
そしてonDraw()メソッドを書き換えてウサギのデフォルト表示位置を設定し、
最後にタッチイベントを書き直し、ウサギが指に従って移動するように設定します.
実例画像:
インスタンスのソース:
main_activity.xml :
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/background"
    android:id="@+id/mylayout"
    >
</FrameLayout>

RabbitView.java :
public class RabbitView extends View {
	public float bitmapX; //        X  
	public float bitmapY; //        Y  

	public RabbitView(Context context) { //       
		super(context);
		bitmapX = 290; //             X  
		bitmapY = 130; //             Y  

	}

	@Override
	protected void onDraw(Canvas canvas) {
		// TODO Auto-generated method stub
		super.onDraw(canvas);
		Paint paint = new Paint(); //       Paint   
		Bitmap bitmap = BitmapFactory.decodeResource(this.getResources(),
				R.drawable.rabbit); //           
		canvas.drawBitmap(bitmap, bitmapX, bitmapY, paint); //      
		if (bitmap.isRecycled()) { //         
			bitmap.recycle(); //       
		}
	}
}

MainActivity.java :
public class RabbitView extends View {
	public float bitmapX; //        X  
	public float bitmapY; //        Y  

	public RabbitView(Context context) { //       
		super(context);
		bitmapX = 290; //             X  
		bitmapY = 130; //             Y  

	}

	@Override
	protected void onDraw(Canvas canvas) {
		// TODO Auto-generated method stub
		super.onDraw(canvas);
		Paint paint = new Paint(); //       Paint   
		Bitmap bitmap = BitmapFactory.decodeResource(this.getResources(),
				R.drawable.rabbit); //           
		canvas.drawBitmap(bitmap, bitmapX, bitmapY, paint); //      
		if (bitmap.isRecycled()) { //         
			bitmap.recycle(); //       
		}
	}
}