1

我会用 SPen SDK 的 SPenTouchListener 来实现一个方法。监听器工作正常,但我会在用户第一次触摸后每 10 毫秒捕获一次触摸数据(坐标等),因为用户按下了另一个按钮。我怎么能这样做?这是侦听器代码的一部分:

public boolean onTouchPen(View view, MotionEvent event) {
            updateTouchUI(event.getX(), event.getY(), event.getPressure(), event.getAction(), "Pen");
            }

private void updateTouchUI(float x, float y, float pressure, int action, String tool){
    mX.setText("X : " + String.format("%.2f", x));
    mY.setText("Y : " + String.format("%.2f", y));
    mPressure.setText("Pressure : " + String.format("%.3f", pressure)); 
}

换句话说,我想每 10 毫秒调用一次updateTouchUI,因为用户在活动中按下了一个按钮。我也想每次都捕获时间戳。

4

1 回答 1

2

您可以创建一个Handler

private Handler mHandler = new Handler();
public void updateUI() {
        mHandler.postDelayed(mUpdateTimeTask, 10); //10ms
    }  

    /**
     * Background Runnable thread
     * */
    private Runnable mUpdateTimeTask = new Runnable() {
           public void run() {
      updateTouchUI (param...); //Your function

               // Running this thread after 10 milliseconds
               mHandler.postDelayed(this, 10);
           }
    };

并添加 updateUI()您想要的 onClickEventButton

于 2012-10-05T03:10:29.550 回答