我是韩国延世研究生院的学生。
我想制作一个简单的应用程序来测量时间间隔 -
触摸屏幕并更新显示。
我发现以下方法捕获了触摸事件。
public boolean onTouchEvent(MotionEvent event) {
super.onTouchEvent(event);
if(event.getAction() == MotionEvent.ACTION_DOWN ){
...
现在我正在搜索Android API,但找不到捕获的方法
显示更新事件。如果您有任何有关此问题的信息,
请对我仁慈一点。谢谢。
最佳答案
尝试添加 ViewTreeObserver.onDrawListener
到您的 Activity 内容 View 中的 View 。您可以创建一个实现该接口(interface)的类。当您收到触摸事件时,调用绘制监听器上的方法来记录下一个绘制事件的时间。
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;
}
}
}
关于java - 有没有什么方法可以找出Android智能手机的显示变化事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23358482/