Есть ли способ перенести событие прокрутки из дочернего представления в родительское представление прокрутки?
Проблема: изображение имеет функцию щепотки для масштабирования и блокирует все сенсорные события от передачи в родительское представление прокрутки.
Желаемый эффект: хотите перенести событие вертикальной прокрутки в ScrollView.По сути, я не хочу, чтобы ImageView обрабатывал события вертикальной прокрутки.
<ScrollView
android:id="@+id/scroll"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="40dp"
android:clipToPadding="false"
android:paddingBottom="50dp"
android:scrollbars="vertical">
<ViewPager
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/five_dp" />
</ScrollView>
А у пейджера есть фрагменты с пользовательским интерфейсом, такие как
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentTop="true"
android:background="@android:color/transparent"
android:visibility="visible">
<ImageView
android:id="@+id/click_card_image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="0dp" />
</RelativeLayout>
Вот сенсорный список для ImageView
binding.postImage.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
int action = event.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_MOVE:
((ScrollView)getActivity().findViewById(R.id.scroll)).requestDisallowInterceptTouchEvent(true);
return true;
default:
return true;
}
}
});
Спасибо!