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

 更新时间:2017年07月24日 14:55:08   作者:yangykaifa  
这篇文章主要为大家详细介绍了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实现每天定时提醒功能

    本文主要介绍了Android每天定时提醒功能、定时功能、闹钟的相关知识。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-04-04
  • Android开发笔记之:消息循环与Looper的详解

    Android开发笔记之:消息循环与Looper的详解

    本篇文章是对Android中消息循环与Looper的应用进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • Flutter网络请求Dio库的使用及封装详解

    Flutter网络请求Dio库的使用及封装详解

    本文主要介绍了Flutter网络请求Dio库的使用及封装详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • Android通过多点触控的方式对图片进行缩放的实例代码

    Android通过多点触控的方式对图片进行缩放的实例代码

    这篇文章主要介绍了Android通过多点触控的方式对图片进行缩放的实例代码,完成了点击图片就能浏览大图的功能,并且在浏览大图的时候还可以通过多点触控的方式对图片进行缩放。
    2018-05-05
  • android实现简易计算器

    android实现简易计算器

    这篇文章主要为大家详细介绍了android实现简易计算器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • Android ListView滚动到指定的位置

    Android ListView滚动到指定的位置

    这篇文章主要给大家介绍了Android中的ListView如何滚动到指定的位置,文章给出了两种解决的方法,并给出详细的示例代码,相信会对大家的理解和学习很有帮助,有需要的朋友们下面来一起看看吧。
    2016-10-10
  • Android使用自定义ImageView实现圆形图片效果

    Android使用自定义ImageView实现圆形图片效果

    本篇文章主要介绍了Android使用自定义ImageView实现圆形图片效果,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • 浅析Android 的 MediaPlayer类

    浅析Android 的 MediaPlayer类

    本文主要介绍了Android的mediaplayer类作用和用法,并附上了关键代码,有需要的朋友可以参考下
    2014-10-10
  • Android开发中button按钮的使用及动态添加组件方法示例

    Android开发中button按钮的使用及动态添加组件方法示例

    这篇文章主要介绍了Android开发中button按钮的使用及动态添加组件方法,涉及Android针对button按钮的事件响应及TextView动态添加相关操作技巧,需要的朋友可以参考下
    2017-11-11
  • Android实现简易计算器功能

    Android实现简易计算器功能

    这篇文章主要为大家详细介绍了Android实现简易计算器功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06

最新评论