答案 0 :(得分:1)
我不太确定你在片段之间滑动是什么意思。但是,当然,无论是在普通的Android手机上使用什么样的滑动手势都无法在Glass-Glass上工作,但它没有触摸屏。它是一个触摸SENSOR,因此它不会检测您点击的位置(出于我们的目的),而是检测您滑动或点击的距离,速度和方向。
我在这个问题中唯一能回答的是如何创建GestureDetector
。这就是我在项目中的表现:
public class EXAMPLE {
private GestureDetector gestureDetector;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
gestureDetector = createGestureDetector(this);
}
private GestureDetector createGestureDetector(Context context) {
GestureDetector gestureDetectorTemp = new GestureDetector(context, new GestureDetector.OnGestureListener() {
@Override
public boolean onDown(MotionEvent motionEvent) {
return false;
}
@Override
public void onShowPress(MotionEvent motionEvent) {
return false;
}
@Override
public boolean onSingleTapUp(MotionEvent motionEvent) {
return false;
}
@Override
public boolean onScroll(MotionEvent motionEvent, MotionEvent motionEvent2, float distanceX, float distanceY) {
return false;
}
@Override
public void onLongPress(MotionEvent motionEvent) {
}
@Override
public boolean onFling(MotionEvent motionEvent, MotionEvent motionEvent2, float v, float v2) {
return false;
}
});
return gestureDetectorTemp;
}
@Override
public boolean onGenericMotionEvent(MotionEvent event) {
if (gestureDetector != null) {
return gestureDetector.onTouchEvent(event);
}
return false;
}
}
最后一部分非常重要。在任何通用运动事件中,如果gestureDetector不为null,则您将通过gestureDetector发送事件以进行处理。
请记住return
语句的含义。如果您想成为唯一一个处理特定事件的人,您应该return true;
。这意味着您处理了该事件,并且不会通知其他默认方法。否则,return false;
表示可以通知其他方法。