您的位置:首页 > 移动开发 > Android开发

Android 实例:通过自定义View组件实现跟随手指移动的小兔子

2015-08-03 23:09 1406 查看

技术要点:

首先需要继承 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(); // 强制回收图片
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: