Android开发实现跟随手指的小球效果示例
作者:水中鱼之1999 发布时间:2022-05-31 08:58:10
标签:Android,跟随手指,小球
本文实例讲述了Android开发实现跟随手指的小球效果。分享给大家供大家参考,具体如下:
配置DrawView类用于绘制小球
public class DrawView extends View {
public float currentX = 40;
public float currentY = 50;
//定义并创建画笔
Paint p = new Paint();
public DrawView(Context context)
{
super(context);
}
public DrawView(Context context , AttributeSet set)
{
super(context,set);
}
@Override
public void onDrawForeground(Canvas canvas) {
super.onDrawForeground(canvas);
//设置画笔颜色
p.setColor(Color.RED);
//绘制一个小球
canvas.drawCircle(currentX , currentY , 30 , p);
}
//为组建的触碰实践重写处理方法
@Override
public boolean onTouchEvent(MotionEvent event) {
//修改currentX,currentY的两个属性
currentX = event.getX();
currentY = event.getY();
//通知当前组建重绘自己
invalidate();
//放回true表明该处理方法已经处理该事件
return true;
}
}
MainActivity
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获取Linearlayout布局容器
LinearLayout root = (LinearLayout) findViewById(R.id.root);
//创建DrawView组件
final DrawView draw = new DrawView(this);
//设定自定义组件的最小宽度、高度
draw.setMinimumWidth(300);
draw.setMinimumHeight(500);
root.addView(draw);
}
}
xml文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
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:id="@+id/root"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<com.example.a30797.myapplication.DrawView
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
**注:**由上面布局,已经添加了自定义组件,因此Activity代码可简化为:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
示例:
希望本文所述对大家Android程序设计有所帮助。
来源:https://blog.csdn.net/qq_43377749/article/details/83720642


猜你喜欢
- 上篇文章我们已经可以在 Grafana 上看到对应的 SpringBoot 应用信息了,通过这些信息我们可以对 SpringBoot 应用有
- 最近在使用springboot过程中用到了mybatis-plus ,springboot版本是2.3.1.RELEASE,mybatis-
- 1.线程状态(生命周期)一个线程在给定的时间点只能处于一种状态。线程可以有如下6 种状态:New (新创建):未启动的线程;Runnable
- 最近做局域网socket连接问题,要在多个activity之间公用一个socket连接,就在网上搜了下资料,感觉还是application方
- 基本要点1、定义根据百度百科的定义,RESTFUL是一种网络应用程序的设计风格和开发方式2、传统方式与Restful风格的区别在我们学习re
- 生成1. 生成error 文件的路径:你可以通过参数设置-XX:ErrorFile=/path/hs_error%p.log, 默认是在Ja
- 本文实例讲述了Android开发之获取LayoutInflater对象的方法。分享给大家供大家参考,具体如下:在写Android程序时,有时
- 1、String 是最基本的数据类型吗?不是。Java 中的基本数据类型只有 8 个 :byte、short、int、long、float、
- 混乱的URI编码 JavaScript中编码有三种方法:escape、encodeURI、encodeURIComponent C#中编码主
- 本文实例为大家分享了Unity3d实现跑马灯广播效果的具体代码,供大家参考,具体内容如下废话不多说,直接上代码using DG.Tweeni
- 前言当某个事件需要被监听的时候,我们需要去做其他的事前,最简单的方式就是将自己的业务 方法追加到该事件之后。但是当有N多个这样的需求的时候我
- 下面先看一下效果图using UnityEngine;using System.Collections;public class textM
- 1.Spring中的 * 在web开发中, * 是经常用到的功能。它可以帮我们预先设置数据以及统计方法的执行效率等等。今天就来详细的谈一下s
- 一、回传协议接口和TCP方式实现:1.接口:import java.nio.channels.SelectionKey; import ja
- private static char[] constant = &
- 1 简介IDEA的全称是IntelliJ IDEA,这是一个java编程语言开发的集成环境。IDEA的每一个方面都是为了最大限度地提高开发人
- HandlerThread 顾名思义就是一种可以使用 Handler 的 Thread。日常开发中我们经常会通过创建一个 Thread 去执
- 前言我们在日常开发中,经常会用到一个系统需要链接多个数据库来实现业务的需求,比如多个系统之间数据调用、两个数据之间同步等等。今天给大家分享使
- 本文实例讲述了C#入门教程之集合ArrayList用法。分享给大家供大家参考,具体如下:.NET Framework提供了用于数据存储和检索
- WPF中全屏窗口,会自动隐藏任务栏。那非全屏窗口如何隐藏任务栏?甚至有没有一种场景,隐藏任务后自定义一套系统任务栏来显示?以下会分阶段讲述一