android单点触摸事件,Android基础知识之单点触摸

本文介绍了如何在Android中实现单点触摸操作,通过监听MotionEvent事件,记录按下时的坐标并计算移动距离,更新ImageView的位置,从而实现图片的移动。主要涉及的技术包括Android的触摸事件处理和Matrix矩阵变换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

相对于多点触摸,单点触摸还是很简单的。

新建一个工程,先看看布局文件:

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:paddingbottom="@dimen/activity_vertical_margin"

android:paddingleft="@dimen/activity_horizontal_margin"

android:paddingright="@dimen/activity_horizontal_margin"

android:paddingtop="@dimen/activity_vertical_margin"

tools:context="com.example.touchevent.mainactivity" >

android:id="@+id/iv"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:src="@drawable/jiafeimao"

android:scaletype="matrix" />

就一个简单的imageview,一会我们将在activity中移动这个imageview:

public class mainactivity extends activity {

private imageview iv;

@override

protected void oncreate(bundle savedinstancestate) {

super.oncreate(savedinstancestate);

setcontentview(r.layout.activity_main);

iv = (imageview) this.findviewbyid(r.id.iv);

iv.setontouchlistener(new ontouchlistener() {

private float x;

private float y;

// 用来操作图片的模型

private matrix oldmatrix = new matrix();

private matrix newmatrix = new matrix();

@override

public boolean ontouch(view v, motionevent event) {

switch (event.getaction()) { // 判断操作类型

case motionevent.action_down:

//按下时记住x,y的坐标

x = event.getx();

y = event.gety();

oldmatrix.set(iv.getimagematrix());

break;

case motionevent.action_move://移动时

//用另一个模型记住按下时的位置

newmatrix.set(oldmatrix);

//移动模型

newmatrix.settranslate(event.getx()-x, event.gety()-y);

break;

}

//把图片放入移动后的模型中

iv.setimagematrix(newmatrix);

return true;

}

});

}

}

就是这么简单。

原文链接:

源码下载:单点触摸

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值