我在ScrollView
内有ViewPager
。我需要能够水平滚动以及垂直滚动。为了达到这个目的,必须在我的ViewPager
被触摸时禁用垂直滚动(v.getParent().requestDisallowInterceptTouchEvent(true);
),以便它可以水平滚动。如何检测onTouch侦听器中的点击?
但同时我需要能够点击viewPager以全屏模式打开它。
问题是onClick在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);
}
});
你试过从onTouch返回true? – Desert