我在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