Android基础知识之单点触摸

 更新时间:2022年04月23日 17:03:59   作者:_江南一点雨  
这篇文章主要为大家详细介绍了Android基础知识之单点触摸,很简单的操作,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

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

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

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 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" >

 <ImageView
 android:id="@+id/iv"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:src="@drawable/jiafeimao"
 android:scaleType="matrix" />

</RelativeLayout>

就一个简单的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;
  }
 });
 }
}

就是这么简单。

源码下载:单点触摸

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

相关文章

  • Android 消息机制问题总结

    Android 消息机制问题总结

    本文主要介绍Android 消息机制,这里整理了消息机制的详细资料,和经常出现的问题,希望能帮助大家对消息机制的理解
    2016-08-08
  • Android自定义View实现音频播放圆形进度条

    Android自定义View实现音频播放圆形进度条

    这篇文章主要为大家详细介绍了Android自定义View实现音频播放圆形进度条,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • Android自动编辑文本框(AutoCompleteTextView)使用方法详解

    Android自动编辑文本框(AutoCompleteTextView)使用方法详解

    这篇文章主要为大家详细介绍了Android自动编辑文本框AutoCompleteTextView的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • flutter编写精美的登录页面

    flutter编写精美的登录页面

    这篇文章主要为大家详细介绍了flutter编写精美的登录页面,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • Android浮动窗口实现原理及代码实例

    Android浮动窗口实现原理及代码实例

    这篇文章主要介绍了Android浮动窗口实现原理及代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • Android模拟开关按钮点击打开动画(属性动画之平移动画)

    Android模拟开关按钮点击打开动画(属性动画之平移动画)

    这篇文章主要介绍了Android模拟开关按钮点击打开动画(属性动画之平移动画)的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • Android Glide图片加载(加载监听、加载动画)

    Android Glide图片加载(加载监听、加载动画)

    这篇文章主要为大家详细介绍了Android Glide图片加载的具体实现方法,包括加载监听、加载动画,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • Android实现圆角ListView效果

    Android实现圆角ListView效果

    这篇文章主要为大家详细介绍了Android实现圆角ListView效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-10-10
  • Android深入探究自定义View之嵌套滑动的实现

    Android深入探究自定义View之嵌套滑动的实现

    什么是嵌套滑动?当我们向下滑动时,首先是外部的布局向下滑动,然后才是内部的RecyclerView滑动,向上滑动也是如此。这就是嵌套滑动的效果
    2021-11-11
  • Android存储权限兼容问题解析

    Android存储权限兼容问题解析

    在 Android 开发中,存储权限是一个常见且重要的权限,不同版本的 Android 系统对于存储权限的管理和处理方式存在差异,这就导致了开发者在处理存储权限时会遇到各种兼容问题,本文将详细介绍 Android 各版本存储权限的变化,以及如何进行兼容处理,并给出具体的代码示例
    2025-02-02

最新评论