第25章、OnTouchListener触摸事件(从零开始学Android)

转自:http://blog.csdn.net/jianghuiquan/article/details/8348695

在Android App应用中,OnTouch事件表示触摸事件,本章我们通过滑过图像获取当前位置理解其具体用法。

  知识点:OnTouch

  

一、设计界面

  1、首先把c.jpg图片复制到res/drawable-hdpi文件夹内。

  

  2、打开“res/layout/activity_main.xml”文件。

  (1)从工具栏向activity拖出1个图像ImageView、1个文本标签TextView。

  

  3、打开activity_main.xml文件。

  代码如下:

[html] view plaincopy
  1. <RelativeLayout   
  2.     xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="match_parent"  
  4.     android:layout_height="match_parent" >  
  5.   
  6.     <ImageView  
  7.         android:id="@+id/picture"  
  8.         android:layout_width="wrap_content"  
  9.         android:layout_height="wrap_content"  
  10.         android:layout_alignParentLeft="true"  
  11.         android:layout_alignParentTop="true"  
  12.         android:src="@drawable/c" />  
  13.   
  14.     <TextView  
  15.         android:id="@+id/info"  
  16.         android:layout_width="wrap_content"  
  17.         android:layout_height="wrap_content"  
  18.         android:layout_alignParentLeft="true"  
  19.         android:layout_below="@+id/picture"  
  20.         android:text="坐标信息" />  
  21.   
  22. </RelativeLayout>  



  4、界面如下:

  

  

二、长按事件 

  打开“src/com.genwoxue.onlongclick/MainActivity.java”文件。

  然后输入以下代码:  

[java] view plaincopy
  1. package com.genwoxue.ontouch;  
  2.   
  3. import android.os.Bundle;  
  4. import android.app.Activity;  
  5. import android.widget.ImageView;  
  6. import android.widget.TextView;  
  7. import android.view.View;  
  8. import android.view.MotionEvent;  
  9. import android.view.View.OnTouchListener;  
  10.   
  11. public class MainActivity extends Activity {  
  12.     //声明TextView、ImageView对象  
  13.     private TextView  tvInfo=null;  
  14.     private ImageView ivwPicture=null;  
  15.   
  16.     @Override  
  17.     protected void onCreate(Bundle savedInstanceState) {  
  18.         super.onCreate(savedInstanceState);  
  19.         setContentView(R.layout.activity_main);  
  20.         //获取TextView、ImageView对象  
  21.         tvInfo=(TextView)super.findViewById(R.id.info);  
  22.         ivwPicture=(ImageView)super.findViewById(R.id.picture);  
  23.         //注册OnTouch监听器  
  24.         ivwPicture.setOnTouchListener(new PicOnTouchListener());  
  25.     }  
  26.     //OnTouch监听器  
  27.     private class PicOnTouchListener implements OnTouchListener{  
  28.         @Override  
  29.         public boolean onTouch(View v, MotionEvent event){            
  30.             //event.getX获取X坐标;event.getY()获取Y坐标  
  31.             String sInfo="X="+String.valueOf(event.getX())+"  Y="+String.valueOf(event.getY());  
  32.             tvInfo.setText(sInfo);  
  33.             return true;  
  34.         }  
  35.     }     
  36. }  



  在图片上不断滑动,则会显示其不同的坐标位置。

  效果如下:

   


原文地址:https://www.cnblogs.com/walccott/p/4957602.html