案例演示:通过单点触摸移动米老鼠
1、创建安卓应用
- 基于
Empty Activity
模板创建安卓应用 -MoveMickeyByTouch
- 单击【Finish】按钮
2、准备图片素材
- 将背景图片与米老鼠图片,拷贝到
drawable
目录里
3、字符串资源文件
- 字符串资源文件 -
strings.xml
4、主布局资源文件
- 主布局资源文件 -
activity_main.xml
- 将约束布局改成线性布局,再添加一个图像控件显示米老鼠
- 查看预览效果
5、主界面类实现功能
- 主界面类 -
MainActivity
- 声明变量和常量
- 通过资源标识符获取控件实例
- 让根布局获取焦点
- 获取米老鼠图像控件的布局参数
- 给线性根布局注册触摸监听器
6、启动应用,查看效果
-
启动后,米老鼠在屏幕左上角
-
在模拟器屏幕上,按下鼠标,移动鼠标,放开鼠标,之后在
LogCat
里可以看到上述三种动作的位置坐标 -
录屏演示单点触摸移动米老鼠
-
从录屏动画可以看到,移动鼠标,确实可以让米老鼠跟着动起来,但是有一个体验不好,触点是米老鼠的左上角,怎么才能让触点是米老鼠的中央呢?
-
重启应用,查看效果
7、修改主界面类
不采用图像控件的布局参数,直接调用图像控件的setX()和setY()方法,分别传入触点横坐标event.getX()和纵坐标event.getY(),如果希望触点在米老鼠控件中央,那么分别传入event.getX() - ivMickey.getWidth() / 2与event.getY() - ivMickey.getHeight() / 2
8、重启应用,查看效果
- 移动米老鼠,可以看到触点在米老鼠中央
(三)案例演示:通过多点触摸缩放米老鼠
1、创建安卓应用
- 基于
Empty Activity
模板创建安卓应用 -ZoomMickeyByTouch
- 单击【Finish】按钮
2、准备图片素材
- 将背景图片与米老鼠图片,拷贝到
drawable
目录里
3、字符串资源文件
- 字符串资源文件 -
strings.xml
4、主布局资源文件
- 主布局资源文件 -
activity_main.xml
- 将约束布局改成线性布局,再添加一个图像控件显示米老鼠
- 查看预览效果
5、主界面类实现功能
-
主界面类 -
MainActivity
-
声明变量
-
通过资源标识符获取控件实例
-
让根布局获取焦点
-
获取米老鼠图像控件的布局参数
-
给根布局注册触摸监听器
6、运行程序,查看结果
- 既可以移动米老鼠,也可以缩放米老鼠