效果图:

代码部分:

activity类代码:

  1. package com.TouchView;
  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.view.MotionEvent;
  5. import android.view.View;
  6. import android.widget.TextView;
  7. public class TouchView extends Activity {
  8. private TextView eventlable;
  9. private TextView histroy;
  10. private TextView TouchView;
  11. @Override
  12. public void onCreate(Bundle savedInstanceState) {
  13. super.onCreate(savedInstanceState);
  14. setContentView(R.layout.main);
  15. TouchView =(TextView)findViewById(R.id.touch_area);
  16. histroy =(TextView)findViewById(R.id.history_label);
  17. eventlable =(TextView)findViewById(R.id.event_label);
  18. TouchView.setOnTouchListener(new View.OnTouchListener() {
  19. @Override
  20. public boolean onTouch(View v, MotionEvent event) {
  21. int action =event.getAction();
  22. switch(action){
  23. //当按下的时候
  24. case (MotionEvent.ACTION_DOWN):
  25. Display("ACTION_DOWN",event);
  26. break;
  27. //当按上的时候
  28. case(MotionEvent.ACTION_UP):
  29. int historysize=ProcessHistory(event);
  30. histroy.setText("历史数据"+historysize);
  31. Display("ACTION_UP",event);
  32. break;
  33. //当触摸的时候
  34. case(MotionEvent.ACTION_MOVE):
  35. Display("ACTION_MOVE",event);
  36. }
  37. return true;
  38. }
  39. });
  40. }
  41. public void Display(String eventType,MotionEvent event){
  42. //触点相对坐标的信息
  43. int x =(int) event.getX();
  44. int y=(int)event.getY();
  45. //表示触屏压力大小
  46. float pressure =event.getPressure();
  47. //表示触点尺寸
  48. float size=event.getSize();
  49. //获取绝对坐标信息
  50. int RawX=(int)event.getRawX();
  51. int RawY=(int)event.getRawY();
  52. String msg="";
  53. msg+="事件类型"+eventType+"\n";
  54. msg+="相对坐标"+String.valueOf(x)+","+String.valueOf(y)+"\n";
  55. msg+="绝对坐标"+String.valueOf(RawX)+","+String.valueOf(RawY)+"\n";
  56. msg+="触点压力"+String.valueOf(pressure)+",";
  57. msg+="触点尺寸"+String.valueOf(size)+"\n";
  58. eventlable.setText(msg);
  59. }
  60. public int ProcessHistory(MotionEvent event){
  61. int history =event.getHistorySize();
  62. for(int i=0;i<history;i++){
  63. long time=event.getHistoricalEventTime(i);
  64. float pressure=event.getHistoricalPressure(i);
  65. float x=event.getHistoricalX(i) ;
  66. float y=event.getHistoricalY(i);
  67. float size=event.getHistoricalSize(i);
  68. }
  69. return history;
  70. }
  71. }

MAIN.XML代码部分:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:orientation="vertical"
  4. android:layout_width="fill_parent"
  5. android:layout_height="fill_parent"
  6. >
  7. <TextView
  8. android:id="@+id/touch_area"
  9. android:layout_width="fill_parent"
  10. android:layout_height="300dip"
  11. android:background="#0FF"
  12. android:textColor="#FFFFFF"
  13. android:text="触摸事件测试区"
  14. />
  15. <TextView
  16. android:id="@+id/history_label"
  17. android:layout_width="fill_parent"
  18. android:layout_height="wrap_content"
  19. android:text="历史数据"
  20. />
  21. <TextView
  22. android:id="@+id/event_label"
  23. android:layout_width="fill_parent"
  24. android:layout_height="wrap_content"
  25. android:text="触摸事件:"
  26. />
  27. </LinearLayout>

android滑动基础篇 TouchView的更多相关文章

  1. android滑动基础篇 - 触屏显示信息

    效果图: 代码部分: activity类代码: package com.TouchView; /* * android滑动基础篇 * */ import android.app.Activity; i ...

  2. Android错误——基础篇

    1. Android工程在真机上运行调试: 花了二个小时的时间来把App热部署到小米机上,简直让我寒透了心, 原本是按照网上提供的步骤一步步的做着,没想到小米神机居然出的是什么内测小米助手,两个窗口来 ...

  3. Android 逆向实战篇(加密数据包破解)

    1. 实战背景由于工作需要,要爬取某款App的数据,App的具体名称此处不便透露,避免他们发现并修改加密逻辑我就得重新破解了. 爬取这款App时发现,抓包抓到的数据是加密过的,如图1所示(原数据较长, ...

  4. Android自己定义View基础篇(三)之SwitchButton开关

    自己定义View基础篇(二) 自己定义View基础篇(一) 自己定义View原理 我在解说之前,先来看看效果图,有图有真相:(转换gif图片效果太差) 那来看看真实图片: 假设你要更改样式,请改动例如 ...

  5. Android Fragment使用(一) 基础篇 温故知新

    Fragment使用的基本知识点总结, 包括Fragment的添加, 参数传递和通信, 生命周期和各种操作. Fragment使用基础 Fragment添加 方法一: 布局里的标签 标识符: tag, ...

  6. 深入理解gradle编译-Android基础篇

    深入理解gradle编译-Android基础篇 导读 Gradle基于Groovy的特定领域语言(DSL)编写的一种自动化建构工具,Groovy作为一种高级语言由Java代码实现,本文将对Gradle ...

  7. Android 滑动效果进阶篇(六)—— 倒影效果

    上篇介绍了使用Animation实现3D动画旋转翻页效果,现在介绍图片倒影实现,先看效果图 本示例主要通过自定义Gallery和ImageAdapter(继承自BaseAdapter)实现 1.倒影绘 ...

  8. ArcGIS Runtime for Android开发教程V2.0(4)基础篇---MapView

    原文地址: ArcGIS Runtime for Android开发教程V2.0(4)基础篇---MapView - ArcGIS_Mobile的专栏 - 博客频道 - CSDN.NET http:/ ...

  9. ArcGIS Runtime for Android开发教程V2.0(3)基础篇---Hello World Map

    原文地址: ArcGIS Runtime for Android开发教程V2.0(3)基础篇---Hello World Map - ArcGIS_Mobile的专栏 - 博客频道 - CSDN.NE ...

随机推荐

  1. OpenXML - 如何导出List<DataModel>到Excel -- Part 1

    最近这几天研究OpenXML: 这是Open XML的一些介绍: Open XML 介绍:http://baike.baidu.com/view/1201978.htm 下载:http://www.m ...

  2. AngularJs学习笔记1——入门知识

    1.什么是AngularJs          AngularJs 诞生于2009年,由Misko Hevery 等人创建,后被Google收购,是一个优秀的Js框架,用于SPA(single pag ...

  3. 与Jquery Mobile的第一次亲密接触

    Jquery Mobile闻名已久,今天终于有亲密接触的机会. 通过动手写的demo,对它有了一个基本的认识: 自带的UI组件用起来简洁,方便:对旧版本的浏览器或移动设备能做到很好的优雅降级,而不影响 ...

  4. 具体解说Android的图片下载框架UniversialImageLoader之磁盘缓存的扩展(二)

    相对于第一篇来讲,这里讲的是磁盘缓存的延续.在这里我们主要是关注四个类.各自是DiskLruCache.LruDiskCache.StrictLineReader以及工具类Util. 接下来逐一的对它 ...

  5. unity3d 学习笔记(一)

    操作:按下shit 点击坐标轴中心 切换透视图 动画烘焙的概念:相当于把原来的控制器动画或者IK(骨骼)动画所有塌陷为逐帧动画,导出的时候必须选这一项 着色器:从技术的角度来看,着色器是渲染器的一个部 ...

  6. 【C疯狂的教材】(九)C语言指针(一)

    1.什么是地址? 内存是由若干个1个字节的内存单元组成的存储器 计算机为了管理内存单元.给每一个字节都进行编号 编号的就是地址 2.什么是指针? 地址就是指针 地址: 地址指向的内存单元值:编号相应的 ...

  7. .net framework版本以及服务器部署问题

    自己做了个官网,部署到服务器很多问题,发现targetframework为4.0,但是公司服务器的版本为:2.0.50727,但是公司一个项目用的lambda和linq就没有事,发现这个是3.5支持的 ...

  8. oracle启动,提示“LRM-00109: could not open parameter file”

    转载自   http://blog.sina.com.cn/s/blog_53e731b70101liku.html oracle启动,提示“LRM-00109: could not open par ...

  9. 发送trim值

    发送寄存器和地址上的所有值 uart_send(0xa1); uart_send(*((char code*)0x2001)); uart_send(*((char code*)0x2002)); u ...

  10. hdu5355 Cake(构造)

    转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud Cake Time Limit: 2000/1000 MS (Java/Other ...