我已经对该主题进行了大量搜索,甚至还提到了android开发者网站的官方文档。但仍然不清楚这个概念。
我已经读过,为了实现触摸手势,我需要使用GestureDetector和MotionEvent包。但它的实施让我对这些事情感到困惑。
我只想要的是,我的布局包括许多文本视图以及两个图像视图。我想检测我的图像上的双击并想要开始一个新的片段活动。在新的片段活动中,我希望在横向模式下以全屏显示相同的图像。
我已经完成了很多阅读,但它让我感到困惑。 请帮忙。 谢谢
答案 0 :(得分:2)
这是Double Tap Gesture ImageView。
public class CustomImageView extends ImageView {
private Context context;
private GestureListener mGestureListener;
private GestureDetector mGestureDetector;
public CustomImageView(Context context) {
super(context);
sharedConstructing(context);
}
public CustomImageView(Context context, AttributeSet attrs) {
super(context, attrs);
sharedConstructing(context);
}
public CustomImageView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
sharedConstructing(context);
}
private void sharedConstructing(Context context) {
super.setClickable(true);
this.context = context;
mGestureListener=new GestureListener();
Log.e("Adding", "Listener:::");
mGestureDetector = new GestureDetector(context, mGestureListener, null, true);
setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
mGestureDetector.onTouchEvent(event);
//..my other code logic
invalidate();
return true; // indicate event was handled
}
});
}
public class GestureListener extends GestureDetector.SimpleOnGestureListener {
@Override
public boolean onDoubleTap( MotionEvent e ) {
// TODO DoubleTap Comparison
Log.e("onDoubleTap","onDoubleTap");
return true;
}
}
}