final int historySize = ev.getHistorySize();
for (int h = 0; h < historySize; h++) {
......
}程序里面做这样的操作 目的是什么~~能指点下吗?
for (int h = 0; h < historySize; h++) {
......
}程序里面做这样的操作 目的是什么~~能指点下吗?
解决方案 »
- Baseadapter出现空指针,求解!!!
- CTS 测试用不到的feature
- android设置铃声的时候f.mkdirs()创建不了???
- 新手,问一个弱弱的问题.
- 如何设置RadioButton的字体在左边????高人指点啊
- Android新手求助
- android2.3问题
- android 学完了,但是数据结构式什么东东??好迷糊,哪些用到了数据结构?
- 每次打开APP都会出现这个异常,找不到报错的位置,大神求指点
- 小米应用市场说我APP有ANR异常崩溃情况,只有在小米NOTE机型上有出现,请各位大神帮忙看看
- 将view添加到WindowManager时如何获得View所需大小的问题?
- Android ICS 4.0 emulator如何在Protrait mode下显示Soft buttons
可以通过调用getHistorySize来获得历史的大小值,它可以返回当前事件可用的运动位置的数目。然后你可以通过使用一系列getHistorical*方法,并传递给它位置索引,来获得每一个历史事件的时间、压力、大小和位置,如下面的代码段所示:java代码:
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); //待实现:使用每一个点 }
复制代码
用来处理运动事件的一般模式是首先处理每一个历史事件,并在其后跟随当前的MotionEvent值,如下面的代码所示:java代码:
@Override public boolean onTouchEvent(MotionEvent event) { int action = event.getAction(); switch (action) { case (MotionEvent.ACTION_MOVE) { int historySize = event.getHistorySize(); for (int i = 0; i < historySize; i++) { float x = event.getHistoricalX(i); float y = event.getHistoricalY(i); processMovement(x, y); } float x = event.getX(); float y = event.getY(); processMovement(x, y); return true; } } return super.onTouchEvent(event); } private void processMovement(float _x, float _y) { // 待实现:对移动作出反应 }