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 ...
随机推荐
- iOS 原生二维码扫描,带扫描框和扫描过程动画
在代码中使用了相对布局框架Masonry 准备两张图片,一张是扫描边框,一张是扫描时的细线分别命名 scanFrame.png和scanLine.png并提前放入工程 导入相对布局头文件 #defin ...
- log4net使用具体解释
说明:本程序演示怎样利用log4net记录程序日志信息.log4net是一个功能著名的开源日志记录组件.利用log4net能够方便地将日志信息记录到文件.控制台.Windows事件日志和数据库(包含M ...
- _js day12
- .NET基础拾遗(4)委托和事件1
一.委托初窥:一个拥有方法的对象 (1)本质:持有一个或多个方法的对象:委托和典型的对象不同,执行委托实际上是执行它所“持有”的方法. (2)如何使用委托? ①声明委托类型(delegate关键字) ...
- Javascript进阶篇——(DOM—认识DOM、ByName、ByTagName)—笔记整理
认识DOM文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法.DOM 将HTML文档呈现为带有元素.属性和文本的树结构(节点树). 将HTML代码分解 ...
- 关于asp.net的<%#%>的一些总结
一.说明 asp特有的控件在前台绑定数据的语法,且必须要调用该控件的DataBind()方法才执行,也可以整个页面数据绑定. 二.注意 1.并不是只有服务器控件才可以使用该语法,当整个页面调用this ...
- (转)IIS7 下部署Asp.net应用
最近在部署一个ASP.NET的应用到IIS7中的时候,遇到了一些问题,现在把部署中的遇到的问题和部署步骤进行总结一下,本文中只涉及到ASP.NET的基本部署. 一. 部署环境 Windows 7 ...
- 委托,匿名方法,Lambda,泛型委托,表达式树
一.委托:完成一个委托应分三个步骤://step01:首先用delegate定义一个委托;public delegate int CalculatorAdd(int x, int y);//step0 ...
- Objective-C 协议(接口)
Objective-C 协议类似于java语言中的接口 新建文件步骤:Objective-C File ---> File Type = "Protocol" @protoc ...
- 7 RandomAccessFile读取文件内容保存--简单例子(需要验证)
import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.*; /** * 读取动态产生的文件内容 */ publ ...