我是韩国延世研究生院的学生。
我想制作一个测量时间间隔的简单应用程序 - 在
之间触摸屏幕并显示更新。
我发现以下方法可以捕捉触摸事件。
public boolean onTouchEvent(MotionEvent event) {
super.onTouchEvent(event);
if(event.getAction() == MotionEvent.ACTION_DOWN ){
...
现在我正在搜索Android API,但我找不到抓住的方法
显示更新事件。如果您有关于此问题的任何信息,
请向我表示怜悯。谢谢。
答案 0 :(得分:2)
尝试在“活动”的内容视图中向视图添加ViewTreeObserver.onDrawListener
。您可以创建一个实现该接口的类。当您获得触摸事件时,请在绘图侦听器上调用方法以记录下一个绘制事件的时间。
private MyDrawListener myDrawListener = new MyDrawListener();
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(...);
findViewById(...).getViewTreeObserver().addOnDrawListener(myDrawListener);
}
public boolean onTouchEvent(MotionEvent event) {
super.onTouchEvent(event);
if (event.getAction() == MotionEvent.ACTION_DOWN) {
myDrawListener.recordNextDrawTime();
}
}
public static class MyDrawListener implements ViewTreeObserver.OnDrawListener {
private boolean recordNextDrawTime;
public void recordNextDrawTime() {
recordNextDrawTime = true;
}
@Override
public void onDraw() {
if (recordNextDrawTime) {
Log.d("MyDrawListener", "Draw time = " + System.currentTimeMillis());
recordNextDrawTime = false;
}
}
}