Android中如何绘制一个跟随手指移动的小球

发布时间:2020-11-07 16:22:43

来源:亿速云

阅读:82

作者:Leah

本篇文章为大家展示了Android中如何绘制一个跟随手指移动的小球,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

为了实现一个跟随手指移动的小球,考虑到开发自定义的UI组件,这个UI组件将会在一个指定的位置绘制一个小球,这个位置可以动态改变。当用户手指在屏幕上拖动时,程序监听到这个手指的动作,并且传入UI组件,通知组件重绘即可。话不多说,上代码:

在java的DrawView中:

package com.example.test01;

import android.content.Context;

import android.graphics.Canvas;

import android.graphics.Color;

import android.graphics.Paint;

import android.util.AttributeSet;

import android.view.MotionEvent;

import android.view.View;

import androidx.annotation.Nullable;

public class DrawView extends View {

private float currentX=40f;

private float currentY=50f;

// 定义并创建画笔

private Paint p=new Paint();

public DrawView(Context context) {

super(context);

}

public DrawView(Context context, @Nullable AttributeSet set) {

super(context, set);

}

@Override

protected void onDraw(Canvas canvas) {

super.onDraw(canvas);

// 设置画笔的颜色

p.setColor(Color.RED);

// 设置一个小球

canvas.drawCircle(currentX,currentY,15F,p);

}

// 为该事件的触碰事件重写处理方法

@Override

public boolean onTouchEvent(MotionEvent event) {

// 修改成员变量

currentX=event.getX();

currentY=event.getY();

// 通知当前组件重绘自己

invalidate();

// 返回true说明该处理方法已经处理自己

return true;

}

}

在java的MainActivity中:

package com.example.test01;

import android.app.Activity;

import android.os.Bundle;

public class MainActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main2);

}

}

在layout中:

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=".MainActivity"

android:orientation="vertical">

android:layout_width="match_parent"

android:layout_height="match_parent"

/>

运行效果如下:

上述内容就是Android中如何绘制一个跟随手指移动的小球,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

android小球移动代码,Android中如何绘制一个跟随手指移动的小球相关推荐

  1. Android跟随手指运动的小球 适合新手的很好的Demo

    为了实现一个跟随手指的小球,我们运用自定义的View组件 :这个UI组件将会在指定的位置绘制一个小球 ,这个位置可以动态改变 .当用户通过手指在屏幕上拖动时,程序监听这个手指动作,并把手指动作位置传给 ...

  2. C#中如何绘制一个四分之一的圆锥

    C#中如何绘制一个四分之一的圆锥 思路:在C#中有自带的绘制圆锥的方法, ConeElement coneElementLeft = new ConeElement(DgnModel dgnModel ...

  3. 安卓案例-跟随手指运动的小球

    跟随手指运动的小球这个案例使用了自动以的UI组件,这个UI组件将会在指定位置绘制一个小球,这个位置会随着我们的手指的拖动而改变. 原理就是使用程序来监听我们手指的动作,把手指动作的位置传入自定义UI组 ...

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

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

  5. android 方形按钮代码,Android中实现图文并茂的按钮实例代码

    效果图如下所示: 代码: android:orientation="horizontal" android:layout_width="match_parent" ...

  6. android 进度条 代码,Android 进度条使用详解及示例代码

    在这里,总结一下loading进度条的使用简单总结一下. 一.说起进度条,必须说说条形进度条,经常都会使用到嘛,特别是下载文件进度等等,还有像腾讯QQ安装进度条一样,有个进度总给人良好的用户体验. 先 ...

  7. android悬浮球代码,Android 仿360悬浮球与加速球

    先来看一张动态图 昨天跟着视频学了如何自定义View并做成仿360悬浮球与加速球的样式 可以看出来,做成的效果有: 点击按钮后退出Activity,呈现一个圆形的悬浮球,可以随意拖动并会自动依靠到屏幕 ...

  8. android调频收音机代码,android 收音机 FM 驱动 hal层 框架层以及应用层代码

    [实例简介] android 收音机 FM 驱动 hal层 框架层以及应用层代码 方法一 不需要framework部分 1.fm放到 \hardware\rk2x 2.FmRadio 放到 packa ...

  9. Android钢琴滑动代码,android 钢琴界面实现

    近在做一个钢琴的东西,关于这个界面如何设计画了很长时间,主要是考虑到针对不同的分辨率,如果只针对一种分辨率的话用绝对布局可以实现,实现的基本思想是每个白色的键的位置是可以计算出来的,屏幕的宽度可以获得 ...

最新文章

  1. pte模拟考试_【PTE懒人攻略】如何在7天内通过PTE考试
  2. C++中的Hash容器总结
  3. Hibernate缓存和ehcache
  4. 如何在 Vue 项目中使用 echarts 1
  5. C语言运算符及其优先级汇总表口诀
  6. 【ES7(2016)】Array.prototype.includes()
  7. linux压缩内核镜像,zImage内核镜像解压过程详解
  8. React Native Keyboard使用详解
  9. HDU - 1520 Anniversary party (有向入门树形DP)
  10. 《CCNA学习指南:Cisco网络设备互连(ICND1)(第4版)》——2.6节TCP/IP协议栈
  11. php日历表代码,PHP实现的简单日历代码_php
  12. matlab画函数微分图,【matlab】ode45求解二阶微分方程,绘制曲线图 | 使用函数句柄的方法...
  13. python凹多边形分割_凹多边形拆分
  14. 如何理解C++中的.h文件和.cpp文件
  15. The Porter Stemming Algorithm
  16. caffe:将mean.binaryproto文件转化为mean.npy文件
  17. 软考易错知识点(自用)
  18. 微信小程序仿记事本,带下划线,自动换行,高度自增
  19. JDK新特性-LocalDateTime
  20. 用计算机如何编辑文档,怎么使用手机word文档编辑

热门文章

  1. Python中的signal模块和Ctrl+C操作
  2. vtkDataObject 与vtkImageData
  3. 卡车紧急刹车加强系统(发明畅想)
  4. 基于python的性能测试工具_基于 Python 的性能测试工具 locust 与 LR 的简单对比[转发]...
  5. ​asp家教交流平台系统设计网站作品
  6. 【论文写作】SpringMVC学籍管理系统如何画用例图(2)
  7. leetcode同样的代码 网上结果和本地结果不一样_Leetcode #263
  8. 有人说PHP会死?PHP“世界第一”
  9. java线程入门到精通_JAVA入门到精通6.1-Java线程的概念
  10. C++中判断某一文件或目录是否存在