【发布时间】:2018-04-15 22:44:18
【问题描述】:
我在 ViewPager 中有两个片段,我的要求是第一次在第一个片段中显示第二个片段的某些部分,以便让用户知道还有一个页面。 一旦用户滑动到下一页并回到第一个页面,第一个片段应该占据全屏(不仅仅是 90%)。所以我保留了一个标志来检查它是否是第一次并返回正确的 pageWidth -
public float getPageWidth(int position) {
if (position == 0 && isPatiallyShowNextItem) {
return 0.9f;
}
isPatiallyShowNextItem = false;
return 1f;
}
问题是 getPageWidth() 只被调用一次,第一个片段总是只占据屏幕的 90%,当用户滑动到下一个片段时如何强制 getPageWidth 或让第一个片段占据屏幕的 100%之后移动到第二页。 仅供参考 - 我在更改标志后尝试了以下调用,但没有任何效果!
pagerAdapter.notifyDataSetChanged();
viewPager.requestLayout();
viewPager.invalidate();
【问题讨论】:
-
任何帮助将不胜感激!