我正在实施看起来像这样的应用教程。
我做了一个很好的小ViewPager
并将其放在模拟ImageView
上。问题是,当我尝试从其他地方滚动它时,ViewPager
不会滚动,例如在视图寻呼机指示器周围。这很自然,因为ViewPager
无法听取自身之外的触摸事件。
ViewPager
?我已尝试ViewPager
的父级detect touch events,但我无法弄清楚如何将onFling()
或onScroll()
与ViewPager
联系起来滚动。
如果有更好的建议实施这种用户界面,会是什么呢?
是否有与此类似的教程或自定义库?
答案 0 :(得分:1)
为您的外View.OnTouchListener
设置ViewPager
,如果您在显示内部ViewPager
的正确页面上,请检查内部。如果内部ViewPager
不是第一个或最后一个,您可以将MotionEvent
发送到第二个dispatchTouchEvent(MotionEvent me)
outerViewPager.setOnTouchListener(new OnTouchListener()
{
@Override
public boolean onTouch(View v, MotionEvent event)
{
if(outerViewPagerAdapter.isCurrentPageHaveInnerViewPager() &&
! innerViewPagerAdapter.isOnFirstOrLastPage()){
innerViewPagerAdapter.dispatchTouchEvent(event);
return true;
}
return super.onTouch(event); //outer will get touch events
}
});
如果需要,您也可以在调度前调整x / y触摸线