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相关内容感兴趣的读者可查看本站专题:《Android控件用法总结》、《Android开发入门与进阶教程》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android数据库操作技巧总结》及《Android资源操作技巧汇总》

希望本文所述对大家Android程序设计有所帮助。

(0)

相关推荐

  • Android游戏开发学习①弹跳小球实现方法

    本文实例讲述了Android游戏开发学习①弹跳小球实现方法.分享给大家供大家参考.具体如下: 在学习了一点点Android之后,觉得有必要记录下来,于是就开了这个新坑,慢慢来填吧. 1.运动体Movable类 本例主要模拟了一组大小不一的球以一定的水平初速度从高处落下的运动轨迹.其中的小球为一个可移动物体Movable对象,该类中除了包含小球图片对象之外,还包括了如位置坐标.水平速度.垂直速度等一系列用于模拟小球运动的成员变量和一些方法. Movable类: package com.ball;

  • Android自定义圆形View实现小球跟随手指移动效果

    本文实例为大家分享了Android实现小球跟随手指移动效果的具体代码,供大家参考,具体内容如下 一. 需求功能 手指在屏幕上滑动,红色的小球始终跟随手指移动. 实现的思路: 1)自定义View,在onDraw中画圆作为小球: 2)重写自定义View的onTouchEvent方法,记录触屏坐标,用新的坐标重新绘制小球: 3)在布局中引用自定义View布局,运行程序,实现跟随手指移动效果. 关键技术点 自定义View应用.触摸事件处理.canvas绘图.Paint应用. 实现步骤 1. 新建一个工程

  • Android中View跟随手指滑动效果的实例代码

    本文讲述了Android中View跟随手指滑动效果的实例代码.分享给大家供大家参考,具体如下: 1.android View 主要6种滑动方法,分别是 layout() offsetLeftAndRight()和offsetTopAndBottom() LayoutParams scrollBy()和 scrollTo() Scroller 动画 2.实现效果图 3.自定义中使用layout()方法实习view的滑动 public class MoveView extends View { pr

  • Android实现拖动小球跟随手指移动效果

    Android拖动小球跟随手指移动Demo,供大家参考,具体内容如下 1.使用的知识点有自定义View,利用Canvas画球: 2.使用触摸时间来操作: 效果图: 代码如下: 1.自定义view: public class DrawView extends View { public float currentX = 50; public float currentY = 50; public DrawView(Context context) { super(context); } publi

  • Android实现跟随手指拖动并自动贴边的View样式(实例demo)

    效果图 代码 /** * 根据手指拖动的当前位置,自动贴边的View */ public class DragView extends ImageView implements View.OnTouchListener{ private int screenWidth; private int screenHeight; private Context mContext; private int lastX, lastY; private int left ,top; private ViewG

  • Android实现View拖拽跟随手指移动效果

    今天想实现这个功能,但是网上搜索代码,都是利用setPadding,setMargin 等方法去实现的,这在Android 4.0 以前是没问题的,但是,android 4.0 后系统已经提供了更简单的方法给我们用了,就是setTranslationX() 和setTranslationY() .这两个是View的属性方法.现在我就用这两个方法实现一个View可以跟着手指移动拖拽的效果.代码非常非常简单: public class DragView extends TextView { floa

  • Android中View跟随手指移动效果

    最近做了一个项目中,其中遇到这样的需求要求图片移动到手指触碰的地方.具体实现代码如下所示: package com.example.plane; import Android.app.Activity; import android.os.Bundle; import android.util.DisplayMetrics; import android.view.Display; import android.view.KeyEvent; import android.view.Menu; i

  • Android自定义View圆形和拖动圆、跟随手指拖动效果

    单纯的自定义一个圆非常简单 只需要几步就完成 拖动圆添加实现触摸事件即可 我在第一次自定义View圆遇到的几个Bug: 1.拖动圆的话在xml里面设置的自定义圆的宽和高是它能活动的空间的大小 不是圆控件的大小 如果你定义了100dp 拖动它的时候超过100dp这个距离这个圆就会看不见 就像下面这样 如果想活动于整个屏幕直接给宽和高match_parent属性就好了 2.我在定义充满属性match_parent的时候运行会报错,什么方法都用了就是不行,耐心等待过一会就好了-有可能是studio没来

  • Android自定义View圆形和拖动圆跟随手指拖动

    单纯的自定义一个圆非常简单 只需要几步就完成 拖动圆添加实现触摸事件即可 我在第一次自定义View圆遇到的小问题: 1.拖动圆的话在xml里面设置的自定义圆的宽和高是它能活动的空间的大小 不是圆控件的大小 如果你定义了100dp 拖动它的时候超过100dp这个距离这个圆就会看不见 就像下面这样 如果想活动于整个屏幕直接给宽和高match_parent属性就好了 2.在布局里自定的view会提示编译 点击Build编译一下就好了 下面开始写代码: 先是单纯的创建一个圆形 创建一个类继承View 实

  • 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 D

  • Android开发实现布局帧布局霓虹灯效果示例

    本文实例讲述了Android开发实现布局帧布局霓虹灯效果.分享给大家供大家参考,具体如下: 效果图: 实现方式: FrameLayout中,设置8个TextView,在主函数中,设计颜色数组,通过有序替换他们颜色,实现渐变效果. java代码:MainActivity public class MainActivity extends AppCompatActivity { private int currentColor = 0; /* 定义颜色数组 实现颜色切换 类似鱼片切换 */ fina

  • Android开发仿映客送礼物效果

    这里写链接内容仿映客送小礼物的特效,顺便复习一下属性动画,话不多说先看效果图. 需求分析 可以看到整个动画有几部分组成,那我们就把每个部分拆分出来各个击破. 1.要显示那些内容以及内容间的位置关系? 可以看到我们要显示用户头像,昵称,礼物图标以及数量.所以这里我选择用FrameLayout来作为根布局. 2.需要哪些动画以及动画的执行顺序? a.首先是整体从左到右飞入并有一个回弹(translationX + OvershootInterpolator) b.然后是礼物从左到右飞入而且是一个带减

  • Android开发中MJRefresh自定义刷新动画效果

    [一]常见用法 最原始的用法,耦合度低,但是不能统一管理.我们需要在每一个控制器都写以下代码,很繁琐,以后项目修改起来更繁琐,得一个控制器一个控制器的去定位.修改. 1.1 使用默认刷新(耦合度底,但是想统一修改起来特别麻烦) self.tableView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{ //在这里执行刷新操作 }]; self.tableView.mj_header = [MJRefreshNorm

  • android开发通过Scroller实现过渡滑动效果操作示例

    本文实例讲述了android开发通过Scroller实现过渡滑动效果.分享给大家供大家参考,具体如下: 主要介绍一下Scroller这个类,它可以实现过渡滑动的效果,使滑动看起来不是那么生硬,当然它用大量的重绘来实现,invalidate();通过源码看: 看构造方法 /** * Create a Scroller with the default duration and interpolator. */ public Scroller(Context context) { this(cont

  • Android开发返回键明暗点击效果的实例代码

    1:在很多APP里点击返回键,都可以看到返回键由亮变为暗 2:实现方法也是很简单的 (1)新建一个页面 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="65dp" android:background="#258a

  • 原生JS实现的多个彩色小球跟随鼠标移动动画效果示例

    本文实例讲述了原生JS实现的多个彩色小球跟随鼠标移动动画效果.分享给大家供大家参考,具体如下: 实现方法: 每个小球移动都有自己的坐标,小球移动的同时,需要进行坐标传递,将第一个坐标依次传递给最后一个坐标,来实现小球跟着移动的效果 实现代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>小球运动</title> <style type

  • Android简洁的下拉放大刷新效果示例

    序言 国庆放假过后眼看一年又要过完了,年初指望着已经有一年的经验本以为自己不是刚出校的学生以为翅膀已经硬了,打算辞职换新工作,一面试才发现自己就是个垃圾,什么oninterceptEvent,dispatchTouchEvent ,Aysnctask都不会.做了一年的项目也是用的Xutils2.6版本 还有一堆不常用不好的不主流不时尚的框架,技术也没任何长进.还好公司真的轻松(所以也学不到任何东西)可以趁闲下来的时间多学点东西.于是写了个简单但也有需求的控件练练手. 首先先看效果图吧 这个是li

随机推荐