Android(安卓)实例:通过自定义View组件实现跟随手指移动的小兔子
16lz
2021-01-26
技术要点:
首先需要继承 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坐标}@Overrideprotected void onDraw(Canvas canvas) {// TODO Auto-generated method stubsuper.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坐标}@Overrideprotected void onDraw(Canvas canvas) {// TODO Auto-generated method stubsuper.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(); // 强制回收图片}}}
更多相关文章
- Android获得内/外置存储卡路径的方法
- Android(安卓)studio的那些坑- so文件添加的正确位置
- Android(安卓)Studio开发环境的配置
- 使用Html在EditText中任意位置插入图片并正确显示
- android的位置服务和地图
- Android(安卓)Scroller的理解
- Android(安卓)ApiDemos示例解析(78):Graphics->ScaleToFit
- Android(安卓)vector 标签
- Android仿qq回弹阻尼ScrollView