zoukankan      html  css  js  c++  java
  • 第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. }  



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

      效果如下:

       


  • 相关阅读:
    源码实现 --> strcmp
    源码实现 --> strdel
    源码实现 --> strcpy
    SoC的Testbench中的简易bus_monitor(加入print函数)
    debian 安装后需做的几件事
    使用Perl合并文件
    一个简单的Verilog计数器模型
    Environment Modules简单使用
    Git push “fatal: Authentication failed ”
    使用SystemC进行硬件仿真
  • 原文地址:https://www.cnblogs.com/walccott/p/4957602.html
Copyright © 2011-2022 走看看