我有一个HorizontalScrollView内心ViewPager.我requestDisallowInterceptTouchEvent(true);为此设定
了HorizontalScrollView但ViewPager仍有时会拦截触摸事件.是否有另一个命令我可以用来阻止View的父级和祖先拦截触摸事件?
注意:HorizontalScrollView只占屏幕的一半.
我有一个里面有一个片段的 ViewPager2,
在片段中,我有一个自定义视图,其中包含涉及移动手指的某些触摸逻辑。
当内部视图拦截触摸事件时,如何防止 ViewPager 滑动?
override fun onTouchEvent(event: MotionEvent?): Boolean {
if (event?.action == MotionEvent.ACTION_DOWN || event?.action == MotionEvent.ACTION_MOVE) {
//Do some stuff here
}
return true
}
Run Code Online (Sandbox Code Playgroud)
在滑动此视图时,视图寻呼机仍会滑动到其他页面。
我为我的项目实现了新的 ViewPager。viewPager2 包含一个片段列表
private class ViewPagerAdapter extends FragmentStateAdapter {
private ArrayList<Integer> classifiedIds;
ViewPagerAdapter(@NonNull Fragment fragment, final ArrayList<Integer> classifiedIds) {
super(fragment);
this.classifiedIds = classifiedIds;
}
@NonNull
@Override
public Fragment createFragment(int position) {
return DetailsFragment.newInstance(classifiedIds.get(position));
}
@Override
public int getItemCount() {
return classifiedIds.size();
}
}
Run Code Online (Sandbox Code Playgroud)
在片段内部我得到了一个水平的 recyclerView
LinearLayoutManager layoutManager = new LinearLayoutManager(getContext(), LinearLayoutManager.HORIZONTAL, false);
recyclerViewPicture.setLayoutManager(layoutManager);
Run Code Online (Sandbox Code Playgroud)
问题是当我尝试滚动 recyclerview 时,viewPager 触摸并切换到下一个片段
当我使用旧的 ViewPager 时,我没有这个问题
android android-recyclerview android-touch-event android-viewpager2
是否可以scrollview在android中制作一个水平的内部viewpager?
的HorizontalScrollView应滚动,直到它到达它的边缘,然后在接下来的滚动,应该加载下一viewpager视图.