我有一个ViewPager
里面的ScrollView
。我需要能够水平和垂直滚动。为了实现这一点,必须在ViewPager
触摸 my 时禁用垂直滚动 ( v.getParent().requestDisallowInterceptTouchEvent(true);
),以便它可以水平滚动。
但同时我需要能够单击 viewPager 以全屏模式打开它。
问题是 onTouch 在 onClick 之前被调用,而我的 OnClick 从未被调用。
如何在触摸时同时实现 onClick?
viewPager.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
System.out.println("TOUCHED ");
if(event.getAction() == MotionEvent.???){
//open fullscreen activity
}
v.getParent().requestDisallowInterceptTouchEvent(true); //This cannot be removed
return false;
}
});
viewPager.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
System.out.println("CLICKED ");
Intent fullPhotoIntent = new Intent(context, FullPhotoActivity.class);
fullPhotoIntent.putStringArrayListExtra("imageUrls", imageUrls);
startActivity(fullPhotoIntent);
}
});