android滑动基础篇 TouchView
效果图:

代码部分:
activity类代码:
- package com.TouchView;
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.MotionEvent;
- import android.view.View;
- import android.widget.TextView;
- public class TouchView extends Activity {
- private TextView eventlable;
- private TextView histroy;
- private TextView TouchView;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- TouchView =(TextView)findViewById(R.id.touch_area);
- histroy =(TextView)findViewById(R.id.history_label);
- eventlable =(TextView)findViewById(R.id.event_label);
- TouchView.setOnTouchListener(new View.OnTouchListener() {
- @Override
- public boolean onTouch(View v, MotionEvent event) {
- int action =event.getAction();
- switch(action){
- //当按下的时候
- case (MotionEvent.ACTION_DOWN):
- Display("ACTION_DOWN",event);
- break;
- //当按上的时候
- case(MotionEvent.ACTION_UP):
- int historysize=ProcessHistory(event);
- histroy.setText("历史数据"+historysize);
- Display("ACTION_UP",event);
- break;
- //当触摸的时候
- case(MotionEvent.ACTION_MOVE):
- Display("ACTION_MOVE",event);
- }
- return true;
- }
- });
- }
- public void Display(String eventType,MotionEvent event){
- //触点相对坐标的信息
- int x =(int) event.getX();
- int y=(int)event.getY();
- //表示触屏压力大小
- float pressure =event.getPressure();
- //表示触点尺寸
- float size=event.getSize();
- //获取绝对坐标信息
- int RawX=(int)event.getRawX();
- int RawY=(int)event.getRawY();
- String msg="";
- msg+="事件类型"+eventType+"\n";
- msg+="相对坐标"+String.valueOf(x)+","+String.valueOf(y)+"\n";
- msg+="绝对坐标"+String.valueOf(RawX)+","+String.valueOf(RawY)+"\n";
- msg+="触点压力"+String.valueOf(pressure)+",";
- msg+="触点尺寸"+String.valueOf(size)+"\n";
- eventlable.setText(msg);
- }
- public int ProcessHistory(MotionEvent event){
- int history =event.getHistorySize();
- for(int i=0;i<history;i++){
- long time=event.getHistoricalEventTime(i);
- float pressure=event.getHistoricalPressure(i);
- float x=event.getHistoricalX(i) ;
- float y=event.getHistoricalY(i);
- float size=event.getHistoricalSize(i);
- }
- return history;
- }
- }
MAIN.XML代码部分:
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- >
- <TextView
- android:id="@+id/touch_area"
- android:layout_width="fill_parent"
- android:layout_height="300dip"
- android:background="#0FF"
- android:textColor="#FFFFFF"
- android:text="触摸事件测试区"
- />
- <TextView
- android:id="@+id/history_label"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="历史数据"
- />
- <TextView
- android:id="@+id/event_label"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="触摸事件:"
- />
- </LinearLayout>
android滑动基础篇 TouchView的更多相关文章
- android滑动基础篇 - 触屏显示信息
效果图: 代码部分: activity类代码: package com.TouchView; /* * android滑动基础篇 * */ import android.app.Activity; i ...
- Android错误——基础篇
1. Android工程在真机上运行调试: 花了二个小时的时间来把App热部署到小米机上,简直让我寒透了心, 原本是按照网上提供的步骤一步步的做着,没想到小米神机居然出的是什么内测小米助手,两个窗口来 ...
- Android 逆向实战篇(加密数据包破解)
1. 实战背景由于工作需要,要爬取某款App的数据,App的具体名称此处不便透露,避免他们发现并修改加密逻辑我就得重新破解了. 爬取这款App时发现,抓包抓到的数据是加密过的,如图1所示(原数据较长, ...
- Android自己定义View基础篇(三)之SwitchButton开关
自己定义View基础篇(二) 自己定义View基础篇(一) 自己定义View原理 我在解说之前,先来看看效果图,有图有真相:(转换gif图片效果太差) 那来看看真实图片: 假设你要更改样式,请改动例如 ...
- Android Fragment使用(一) 基础篇 温故知新
Fragment使用的基本知识点总结, 包括Fragment的添加, 参数传递和通信, 生命周期和各种操作. Fragment使用基础 Fragment添加 方法一: 布局里的标签 标识符: tag, ...
- 深入理解gradle编译-Android基础篇
深入理解gradle编译-Android基础篇 导读 Gradle基于Groovy的特定领域语言(DSL)编写的一种自动化建构工具,Groovy作为一种高级语言由Java代码实现,本文将对Gradle ...
- Android 滑动效果进阶篇(六)—— 倒影效果
上篇介绍了使用Animation实现3D动画旋转翻页效果,现在介绍图片倒影实现,先看效果图 本示例主要通过自定义Gallery和ImageAdapter(继承自BaseAdapter)实现 1.倒影绘 ...
- ArcGIS Runtime for Android开发教程V2.0(4)基础篇---MapView
原文地址: ArcGIS Runtime for Android开发教程V2.0(4)基础篇---MapView - ArcGIS_Mobile的专栏 - 博客频道 - CSDN.NET http:/ ...
- ArcGIS Runtime for Android开发教程V2.0(3)基础篇---Hello World Map
原文地址: ArcGIS Runtime for Android开发教程V2.0(3)基础篇---Hello World Map - ArcGIS_Mobile的专栏 - 博客频道 - CSDN.NE ...
随机推荐
- animation之translate、scale、alpha、rotate动画效果呈现
动画类型 Android的animation由四种类型组成 XML中 alpha 渐变透明度动画效果 scale 渐变尺寸伸缩动画效果 translate 画面转换位置移动动画效果 rotate 画面 ...
- Java:单例模式的七种写法[转]
第一种(懒汉,线程不安全): 1 public class Singleton { 2 private static Singleton instance; 3 privat ...
- vagrant拷贝后vagrant file需要加的配置
config.ssh.forward_agent config.ssh.username = "vagrant" config.ssh.password = "vagra ...
- SecureCRT 安装及初始化配置
安装 SecureCRT 7.3.4 安装以及破解方法 SecureCRT 6.5.0 汉化解压版 初始化配置 这里配置以SecureCRT 6.5.0 汉化解压版为例 1.调整SecureCRT终端 ...
- 关于ionic传值
今天,也是偶然发现有的初学者对ionic的传值还不太清除,这里我说明一下 例如你想在这个页面传递参数a.b过去,传递到"tab.wait"页面 $state.go("ta ...
- how tomcat works 读书笔记(一)----------一个简单的webserver
http协议 若是两个人能正常的说话交流,那么他们间必然有一套统一的语言规则<在网络上server与client能交流也依赖与一套规则,它就是我们说的http规则(超文本传输协议Hypertex ...
- public,private,protected的区别
一,public,private,protected的区别public:权限是最大的,可以内部调用,实例调用等.protected: 受保护类型,用于本类和继承类调用.private: 私有类型,只有 ...
- Android开源代码解读のOnScrollListener实现ListView滚屏时不加载数据
使用ListView过程中,如果滚动加载数据的操作比较费时,很容易在滚屏时出现屏幕卡住的现象,一个解决的办法就是不要在滚动时加载数据,而是等到滚动停止后再进行数据的加载.这同样要实现OnScrollL ...
- jquery颜色渐变
http://files.cnblogs.com/handsomer/jquery.animate-colors-min.js
- Jquery:Jquery中的DOM操作<二>
由于昨天晚上回来的晚,写的有点匆忙,所以昨天的学习笔记中出现了多处错误的地方,幸好有各位园友帮忙指出,在这里谢过各位了!今天继续学习关于Jquery中DOM的操作,其实是昨天随笔的延续,求围观!!! ...