2012-10-05 115 views
1

我想用SPen SDK的SPenTouchListener實現一個方法。聽衆工作正常,但我會從用戶的第一次觸摸開始每隔10ms捕獲一次觸摸數據(座標等),因爲用戶按下另一個按鈕。我怎麼能做到這一點? 氏是聽者的部分代碼:Android事件時間監聽器

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)); 
} 

換句話說,我想打電話給updateTouchUI每隔10ms以來的用戶按在活動的按鈕。我也想每次捕獲時間戳。

回答

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); 
      } 
    }; 

而且在onClickEvent添加updateUI()你的慾望Button

+0

你得到新的讀取觸摸每10ms的位置,或者你只是複製從的那些最後的事件呢? – Julius