2016-06-28 42 views
1

我正在開發面向Android Wear的手錶。爲了獲得平滑的圖形,我從傳統的畫布繪製切換到OpenGL(即從CanvasWatchFaceService切換到Gles2WatchFaceService)。對於觸摸輸入,我正在使用如何使用OpenGL(Gles2WatchFaceService)獲取Android Wear上的觸摸輸入?

@Override 
    public void onTapCommand(int tapType, int x, int y, long eventTime) { ... } 

這似乎不工作在Gles2WatchFaceService下。我怎樣才能獲得觸摸輸入?

回答

1

我找到了。需要進行相應的設置(setAcceptsTapEvents)在OnCreate函數面對手錶的風格:

@Override 
    public void onCreate(SurfaceHolder surfaceHolder) { 

     super.onCreate(surfaceHolder); 

     setWatchFaceStyle(new WatchFaceStyle.Builder(CronosurfGLWatchFace.this) 
       ... 
       .setAcceptsTapEvents(true) // <== HERE!! 
       ... 
       .build()); 
     ... 
    } 

這是相同CanvasWatchFaceService。出於某種原因,當我將代碼從畫布更改爲OpenGL時,我丟失了該樣式設置。