实现的功能:
手指在屏幕上滑动,红色的小球始终跟随手指移动。
实现的思路:
1)自定义View,在onDraw中画圆作为小球;
2)重写自定义View的onTouchEvent方法,记录触屏坐标,用新的坐标重新绘制小球;
3)在布局中引用自定义View布局,运行程序,实现跟随手指移动效果。
关键技术点:
自定义View应用、触摸事件处理、canvas绘图、Paint应用。

实现步骤:
1. 新建一个工程,命名为BallViewDemo,Activity命名为BallActivity;(5分)
2. 创建自定义View类BallView,自定义属性:ball_size(10分);
新建attrs.xml文件,自定义属性ball_size,可以在布局文件里设置小球的大小
3. 继承View实现自定义View(15分);
1)重写自定义View的三个构造方法(5分)
2)初始化自定义属性(5分)
3)对自定义属性对象做回收资源逻辑的处理(5分)
4. 实现onDraw()方法(20分);
1) 用canvas将屏幕设为白色(5分)
2) 设置画笔颜色为红色(5分)
3) 绘制小圆作为小球,半径通过自定义属性设置(10分)
5. 实现onTouchEvent方法,处理触摸事件(40分);
1) 实现MotionEvent.ACTION_DOWN,记录按下的x,y坐标(10分)
2) 实现MotionEvent.ACTION_MOVE 记录移动的x,y坐标((10分)
3) 实现MotionEvent.ACTION_UP 记录抬起的x,y坐标((10分)
4) 使用 postInvalidate()方法实现重绘小球,跟随手指移动(10分)

主方法什么都不改

package com.example.day3_rikao;import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.support.annotation.Nullable;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;/*** author:Created by MingShao on 2017/11/30.*/public class Zdy_view extends View {private Paint paint;int cx = 80;int cy = 60;public Zdy_view(Context context) {super(context);}public Zdy_view(Context context, @Nullable AttributeSet attrs) {super(context, attrs);}public Zdy_view(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);}@Overrideprotected void onDraw(Canvas canvas) {super.onDraw(canvas);canvas.drawColor(Color.WHITE);paint = new Paint();paint.setColor(Color.RED);canvas.drawCircle(cx, cy, 200, paint);}@Overridepublic boolean onTouchEvent(MotionEvent event) {cx=(int)event.getX();cy=(int)event.getY();invalidate();return  true;}
}
布局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"android:layout_height="match_parent" tools:context="com.example.day3_rikao.MainActivity"><com.example.day3_rikao.Zdy_view
        android:layout_width="wrap_content"android:layout_height="wrap_content" /></RelativeLayout>

手指在屏幕上滑动,红色的小球始终跟随手指移动。相关推荐

  1. android小球移动代码,Android自定义圆形View实现小球跟随手指移动效果

    本文实例为大家分享了Android实现小球跟随手指移动效果的具体代码,供大家参考,具体内容如下 一. 需求功能 手指在屏幕上滑动,红色的小球始终跟随手指移动. 实现的思路: 1)自定义View,在on ...

  2. html5跟随手指的小球,Android自定义圆形View实现小球跟随手指移动效果(详细介绍)...

    一. 需求功能 手指在屏幕上滑动,红色的小球始终跟随手指移动. 实现的思路: 1)自定义View,在onDraw中画圆作为小球: 2)重写自定义View的onTouchEvent方法,记录触屏坐标,用 ...

  3. android双指滑动方向,OpenGL ES2.0实现手指滑动平移、双指缩放Android

    主要是实现了手指在屏幕上滑动实现平移,两个手指进行缩放.主要是这部分矩阵还挺麻烦的. 效果图如下所示: 核心部分代码如下 触控事件处理: @SuppressLint("ClickableVi ...

  4. Android自定义View之跟随手指一起滑动的五色的小球

    一. 实现的功能:手指在屏幕上滑动,变幻颜色的小球始终跟随手指移动. 二. 实现的思路: 1)自定义View,在onDraw中画圆作为小球: 2)重写自定义View的onTouchEvent方法,记录 ...

  5. Android素描算法及实现手指在图片上左右滑动调节图片透明度,最终实现类似调节素描浓度的效果

    一.前期基础知识储备 UI掌握PS这一逆天的软件,可以实现将图片转化为素描或者水彩的效果,以素描为例: 在Photoshop中打开一张人物照片,按下快捷键"Ctrl+Shift+U" ...

  6. android 触摸监听重写_Android监听屏幕的滑动事件

    实现监听屏幕上下左右滑动事件 前段时间为了实现这个功能在网上找了很多教程,发现很多教程都是很大的篇幅,对于像我这种一点都不了解的人GestureListener的人来说可能很难理解,动不动就是几百行代 ...

  7. android小球移动代码,Android中如何绘制一个跟随手指移动的小球

    Android中如何绘制一个跟随手指移动的小球 发布时间:2020-11-07 16:22:43 来源:亿速云 阅读:82 作者:Leah 本篇文章为大家展示了Android中如何绘制一个跟随手指移动 ...

  8. 走路步数怎么在屏幕上显示_华为走步步数不在屏幕上显示如何设置

    展开全部 1.打开手机的设置选项,找到"安全和隐私一栏",点击进入. 2.进入后下拉屏幕,32313133353236313431303231363533e4b893e5b19e3 ...

  9. Android监听屏幕的滑动事件

    实现监听屏幕上下左右滑动事件 前段时间为了实现这个功能在网上找了很多教程,发现很多教程都是很大的篇幅,对于像我这种一点都不了解的人GestureListener的人来说可能很难理解,动不动就是几百行代 ...

最新文章

  1. Ubuntu - 安装 jdk 、配置 Java 环境变量、编辑 Test.java 文件并输出 Hello World!
  2. Numpy:利用Numpy库建立可视化输入的二次函数数据点集np.linspace+np.random.shuffle+np.random.normal
  3. SpringMVC实现简单的图片上传DEMO
  4. 小翔和泰拉瑞亚(线段树+思维)
  5. 2.6 矩阵乘法重要特例
  6. 渗透测试入门16之渗透测试基本知识
  7. 如何根据离散点自动绘制等值线(等高线)之 三角形法
  8. B端出行,缺一个盒子汽车么?
  9. WinZip命令行详解
  10. [转载][奇文共赏].由入门到精通 - 吃透PID2.0.PDF
  11. 在后台运行程序/软件的Linux命令
  12. HDU2033 人见人爱A+B【进制】
  13. 单片机定时器之改良版:时间轮定时器
  14. 计算机打印指定测试页到文件夹中,打印机可以打测试页,但不能打印别的文件,怎么处理...
  15. activiti7的流程图、模板图及子流程图展示
  16. android persistent属性研究
  17. 1000句最常用英语口语 (四)
  18. 网络计算机抗震计算阻尼比,抗震结构设计经典计算题及答案.doc
  19. 蓝桥杯-算法训练 印章
  20. 学习Java的第五天 | 定义方法 | 引用数据类型——类 | 访问权限-修饰符 | 全局变量与局部变量 | toString | 构造方法 | 方法重载

热门文章

  1. mysql异地灾备架构_最佳实践 数据库异地灾备
  2. 项目管理PV、EV、AC、BAC、EAC、ETC等计算
  3. Flink入门系列05-时间语义
  4. 海康威视RTSP取流
  5. Windows提权基本原理,各位表哥了解下!
  6. 厚积薄发 | 游戏引擎十年技术点滴
  7. Android SwipeRefreshLayout GMail的下拉刷新效果
  8. axure如何页面滑动时广告位上移_Axure实现滚动广告效果
  9. 4【Android 12】InputDispatcher分发事件
  10. 三星mzvlb1t0hblr是什么固态_固态硬盘跑分速度天梯图/天梯表,最全搜集。