全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android自定义组件跟随自己手指主动画圆

本文实例为大家分享了Android实现跟随手指画圆的具体代码,供大家参考,具体内容如下

首先自己定义一个View子类:

package com.example.androidtest0.myView;

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;

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 attrs) {
 super(context, attrs);
 }
 
 @Override
 protected void onDraw(Canvas canvas) {
 super.onDraw(canvas);
 //设置画笔的颜色
 p.setColor(Color.RED);
 //绘制一个小球
 canvas.drawCircle(currentX, currentY, 15, p);
 }
 
 /**
 * 为该组件的触碰事件重写事件处理方法
 */
 @Override
 public boolean onTouchEvent(MotionEvent event) {
 //改动currentX、currentY两个属性
 currentX = event.getX();
 currentY = event.getY();
 //通知当前组件重绘自己
 invalidate();
 return true;
 }
 
  
 

}

主界面XML:

custom_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:id="@+id/root"
  android:orientation="vertical" >

</LinearLayout>

主activity:

package com.example.androidtest0;

import com.example.androidtest0.myView.DrawView;

import android.app.Activity;
import android.os.Bundle;
import android.widget.LinearLayout;

public class CustomView extends Activity {
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.custom_layout);
 //获取布局文件里LinearLayout容器
 LinearLayout root = (LinearLayout)findViewById(R.id.root);
 //创建DrawView组件
 final DrawView drawView = new DrawView(this);
 //设置自己定义组件的最小宽度、高度
 drawView.setMinimumWidth(10);
 drawView.setMinimumHeight(10);
 root.addView(drawView);
 }
}


效果:


除此之外:

还能够用XML的方式:也是首先建一个View的子类。和上面一样。

然后主界面XML例如以下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:id="@+id/root"
  android:orientation="vertical" >

  <com.example.androidtest0.myView.DrawView 
    android:layout_width="match_parent" android:layout_height="match_parent"
    />
</LinearLayout>

主activity文件例如以下:

package com.example.androidtest0;

import com.example.androidtest0.myView.DrawView;

import android.app.Activity;
import android.os.Bundle;
import android.widget.LinearLayout;

public class CustomView extends Activity {
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.custom_layout);
 }
}


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# Android  # 跟随手指  # 画圆  # 利用Android画圆弧canvas.drawArc()实例详解  # Android自定view画圆效果  # Android自定义View画圆功能  # Android项目实战手把手教你画圆形水波纹loadingview  # Android圆形控件实现画圆效果  # 子类  # 还能  # 重写  # 大家分享  # 具体内容  # 大家多多  # 为该  # 触碰  # currentY  # super  # context  # currentX  # public  # MotionEvent  # DrawView  # float  # extends  # RED  # setColor  # drawCircle 


相关文章: 建站之星安装需要哪些步骤及注意事项?  陕西网站制作公司有哪些,陕西凌云电器有限公司官网?  相册网站制作软件,图片上的网址怎么复制?  大同网页,大同瑞慈医院官网?  宿州网站制作公司兴策,安徽省低保查询网站?  c# 服务器GC和工作站GC的区别和设置  如何通过建站之星自助学习解决操作问题?  如何用PHP工具快速搭建高效网站?  如何用免费手机建站系统零基础打造专业网站?  如何快速搭建FTP站点实现文件共享?  网页设计网站制作软件,microsoft office哪个可以创建网页?  模具网站制作流程,如何找模具客户?  如何快速搭建安全的FTP站点?  网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?  赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?  如何在云主机快速搭建网站站点?  C++如何使用std::optional?(处理可选值)  c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】  公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?  建站中国官网:模板定制+SEO优化+建站流程一站式指南  如何快速重置建站主机并恢复默认配置?  建站之星安装模板失败:服务器环境不兼容?  建站之星如何开启自定义404页面避免用户流失?  如何基于云服务器快速搭建个人网站?  如何配置IIS站点权限与局域网访问?  一键制作网站软件下载安装,一键自动采集网页文档制作步骤?  网站制作公司排行榜,抖音怎样做个人官方网站  外汇网站制作流程,如何在工商银行网站上做外汇买卖?  无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?  建站之星伪静态规则如何正确配置?  如何通过老薛主机一键快速建站?  如何在Windows环境下新建FTP站点并设置权限?  公司网站制作需要多少钱,找人做公司网站需要多少钱?  Java解压缩zip - 解压缩多个文件或文件夹实例  建站三合一如何选?哪家性价比更高?  如何在云虚拟主机上快速搭建个人网站?  如何制作一个表白网站视频,关于勇敢表白的小标题?  如何在Windows服务器上快速搭建网站?  台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?  简易网站制作视频教程,使用记事本编写一个简单的网页html文件?  如何彻底卸载建站之星软件?  高防服务器:AI智能防御DDoS攻击与数据安全保障  想学网站制作怎么学,建立一个网站要花费多少?  建站之星如何修改网站生成路径?  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  简单实现Android验证码  如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?  可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?  成都网站制作报价公司,成都工业用气开户费用?  如何高效完成自助建站业务培训? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。