android滑动基础篇 - 触屏显示信息
来源:互联网 发布:博德之门2增强版 mac 编辑:程序博客网 时间:2024/05/21 22:46
效果图:
代码部分:
activity类代码:
package com.TouchView;/* * android滑动基础篇 * */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; //触摸事件测试区 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() { 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="触摸事件:\n"; 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); } /*可以通过调用getHistorySize来获得历史的大小值,它可以返回当前事件可用的运动位置的数目。 * 然后你可以通过使用一系列getHistorical*方法,并传递给它位置索引,来获得每一个历史事件的时间、压力、大小和位置*/ public int ProcessHistory(MotionEvent event){ int historysize =event.getHistorySize(); // 获取历史采样的集合大小 for(int i=0;i<historysize;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 historysize; } }
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="360dip" 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:background="#006400" android:text="历史数据" /> <TextView android:id="@+id/event_label" android:layout_width="fill_parent" android:layout_height="match_parent" android:background="#C0C0C0" android:textColor="#000000" android:text="触摸事件:" /> </LinearLayout>
0 0
- android滑动基础篇 - 触屏显示信息
- android滑动基础篇
- android滑动基础篇 TouchView
- android向左滑动显示第二屏
- Android----ViewPager页面滑动基础--FragmentPagerAdapter篇
- android 滑动显示item首字母
- Android实现歌词滑动显示
- Android----ViewFlipper页面滑动基础
- Android 滑动效果基础篇—— Gallery + GridView
- Android----ViewPager页面滑动基础--PagerAdapter篇(一)
- Android----ViewPager页面滑动基础--PagerAdapter篇(二)
- Android基础信息记录
- Android 滑动显示下一层界面
- Android GridView显示一行,左右滑动
- Android GridView显示一行,左右滑动
- Android GridView显示一行,左右滑动
- Android中滑动控件的不显示
- Android的DrawerLayout全屏滑动显示
- Python 一个简单的MySQLdb封装类
- UVA - 507 Jill Rides Again 求最长子序列和
- web前端开发学习经验总结
- Thinking in Java阅读笔记(二)
- 1028. List Sorting (25)
- android滑动基础篇 - 触屏显示信息
- wifi使用的一些误区
- Linux下C多文件编译Makefile
- 第十一周项目2-4个数的最大公约数
- 高性能JavaScript异步加载
- mipi 调试经验
- 策略模式的java样例实现(以鸭子为例)
- 关于批处理中的变量
- 【POJ3272】Cow Traffic 拓扑DP