android怎么实现 图像随着手指的移动而移动

============问题描述============

android怎么实现   图像随着手指的移动而移动  当点击一个地方的时候图片能够移动到那个地方   希望给出具体的示例代码

============解决方案1============

activity内容:

public class CustomView extends Activity

{

	@Override

	public void onCreate(Bundle savedInstanceState)

	{

		super.onCreate(savedInstanceState);

		setContentView(R.layout.main);

	}

}

DrawView组件:

public class DrawView extends View

{

	public float currentX = 40;

	public float currentY = 50;

	/**

	 * @param context

	 */

	public DrawView(Context context , AttributeSet set)

	{

		super(context , set);

	}

	@Override

	public void onDraw (Canvas canvas)

	{

		super.onDraw(canvas);

		//创建画笔

		Paint p = new Paint();

		//设置画笔的颜色

		p.setColor(Color.RED);

		//绘制一个小圆(作为小球)

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

	}

	@Override

	public boolean onTouchEvent(MotionEvent event)

	{

		//当前组件的currentX、currentY两个属性

		this.currentX = event.getX();

		this.currentY = event.getY();

		//通知改组件重绘

		this.invalidate();

		//返回true表明处理方法已经处理该事件

		return true;

	}	

}

xml布局文件:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

	android:orientation="vertical"

	android:layout_width="fill_parent"

	android:layout_height="fill_parent"

	>

<!-- 使用自定义组件 -->

<org.crazyit.event.DrawView

	android:orientation="vertical"

	android:layout_width="fill_parent"

	android:layout_height="fill_parent"

/>

</LinearLayout>

代码引用自《疯狂安卓讲义》李刚

时间: 2024-10-04 23:12:59

android怎么实现 图像随着手指的移动而移动的相关文章

Android资源之图像资源(淡入淡出、嵌入)

今天把图像资源剩余的几个知识梳理一下.淡入淡出资源同图像状态和图像级别资源一样可以切换两个图像(目前只支持两个图像的切换),并且使这两个图像以淡入淡出效果进行切换.如上一篇博文介绍的开关电灯一样,如果加上淡入淡出效果会更好. 下面在res/drawable目录中建立一个cross_fade.xml文件,该文件内容如下: <?xml version="1.0" encoding="UTF-8"?> <!-- transition标签中只能有两个ite

Android资源之图像资源(1)

以前看别人的程序的drawable文件夹里有xml资源,说实话第一次见到这样的xml图像资源时,我真心不知道是干什么的.抽空学习了一下图像资源,才了解了这类图像资源的妙用.下面我来分享一下这部分知识: Android 中的图像资源文件保存在res/drawable目录中.在图像资源目录中不仅可以存储各种格式(jpg,png,gif等)的图像文件,还可以使用各种XML格式的图像资源来控制图像的状态 和行为. 1.普通图像资源 Android支持3种图像格式:png.jpg和gif.官方推荐使用pn

Android资源之图像资源(图像级别资源)

图像状态资源只能定义有限的几种状态.如果需要更多的状态,就要使用图像级别资源.在该资源文件中可以定义任意多个图像级别.每个图像级别是一个整数区间,可以通过ImageView.setImageLevel或Drawable.setLevel方法切换不同状态的图像. 图像级别资源是XML格式的文件,必须将<level-list>标签作为XML的根节点.<level-list>标签中可以有任意多个<item>标签,每一个<item>标签表示一个级别区间.级别区间用a

Android资源之图像资源(状态图像资源)

在上一篇博文中.我主要解说了XML图像资源中的图层资源,在此图像资源博文中我会给大家陆续解说XMl图像资源的图像状态资源.图像级别资源.淡入淡出资源.嵌入图像资源.剪切图像资源和外形资源. 1.图像状态资源: Android SDK提供的Button控件默认样式显得有些单调.并且这样的样式与炫丽的界面搭配在一起极不协调.当然.我们能够使用ImageView或ImgaeButton控件配合不同状态的图像做出非常酷的button,这里我给出用java代码实现button按下与正常状态的特效: btn

Android 中的图像特效(Matrix)

以前在线性代数中学习了矩阵,对矩阵的基本运算有一些了解,现在在Android中有一个Matrix类,它的中文意思就是矩阵.Matrix主要是用于图像的缩放.平移.旋转.扭曲等操作.图像处理,主要用到的是乘法. 下面是一个乘法的公式: 在Android里面,Matrix由9个float值构成,是一个3*3的矩阵.如下图 其含义如下: sinX和cosX,表示旋转角度的cos值和sin值(旋转角度是按顺时针方向计算的).translateX和translateY表示x和y的平移量.scale是缩放的

Android intel X86 图像渲染

最近几天有个项目需要在intel 芯片的系统上集成我们的视频通话软件.之前只是在ARM平台上使用,对于intel 没测试过,直接运行apk后,本端渲染的图像出错,渲染出的图像很像I420被作为RGB565渲染,于是将渲染属性改为YV12(这时犯了个错误,以为旧版本默认使用RGB656渲染),结果仍是一样. 尝试1.认为系统兼容性不好,将librender重新编译为X86平台,最后由amrv7平台的so调用,结果最后的so编译不过,提示 尝试2.下载intel Android 4.4源码,在此环境

Android ColorMatrix类图像颜色处理-黑白老照片、泛黄旧照片、高对比度等效果

在Android中,对图像进行颜色方面的处理,如黑白老照片.泛黄旧照片.高对比度.低饱和度等效果,都可以通过使用颜色矩阵(ColorMatrix)来实现. 1.颜色矩阵(ColorMatrix)介绍 颜色矩阵M是一个5*4的矩阵,如图1所示.在Android中,颜色矩阵M是以一维数组m=[a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t]的方式进行存储的. 图1 颜色矩阵M 在一张图片中,图像的RGBA(红色.绿色.蓝色.透明度)值决定了该图片所呈现出来的颜色效果.

Android应用小实例--跟随手指的小球

实现效果图: 实现方式: 继承View类自己重绘一个圆,然后将这个自定义的继承于View类的加入到当前的Activity并且为这个自定义的View控件添加一个onTouchLitener事件 自定义组件继承于View类: [java] view plain copy print ? package com.jiahui.draw; import android.content.Context; import android.graphics.Canvas; import android.grap

王立平-Android中对图像进行Base64编码

// ------------------base64-------------------// public String bitmaptoString(Bitmap bitmap) { // 将Bitmap转换成字符串 String string = null; ByteArrayOutputStream bStream = new ByteArrayOutputStream(); bitmap.compress(CompressFormat.PNG, 100, bStream); byte