android可视页面可定制
我需要实现一个滚动视图,如图所示: 也就是说,在“空闲”状态下,图像“1”是全尺寸可见的,而图像“2”是部分可见的(从而向用户提示他可以滚动内容)。滚动后,scrool视图不得停留在中间状态,滚动必须完成(就像打开“已启用分页”时iOS的滚动视图所做的那样): 我拒绝使用android可视页面可定制,android,android-viewpager,Android,Android Viewpager,我需要实现一个滚动视图,如图所示: 也就是说,在“空闲”状态下,图像“1”是全尺寸可见的,而图像“2”是部分可见的(从而向用户提示他可以滚动内容)。滚动后,scrool视图不得停留在中间状态,滚动必须完成(就像打开“已启用分页”时iOS的滚动视图所做的那样): 我拒绝使用HorizontalScrollView,因为它与“Paging Enabled”属性没有任何相似之处 谷歌搜索之后,我发现了android.support.v4.view.ViewPager。它的滚动行为正是我想要的,但我
HorizontalScrollView
,因为它与“Paging Enabled”属性没有任何相似之处
谷歌搜索之后,我发现了android.support.v4.view.ViewPager
。它的滚动行为正是我想要的,但我不知道如何在ViewPager
中支持“部分可见”的下一幅图像?从技术上讲,我应该在
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)?
目前,我的代码是
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View view = inflater.inflate(R.layout.stage_select_image_layout, container, false);
ImageView imageView = (ImageView) view.findViewById(R.id.stage_select_image_layout_image);
imageView.setImageResource(m_imageResourceId);
return view;
}
但它会导致“每页仅一张图像”的行为,而不是我想要的(参见第一个图)
使用ViewPager的LayoutParams属性。它应该缩放它,以便您可以看到下一页的一点内容。这就完成了:
ViewPager pager = ...;
pager.setOffscreenPageLimit(2);
pager.setPageMargin(-200);
最简单的方法是,在PagerAdapter中,实现对getPageWidth的覆盖。返回值是视图占总空间的百分比
@Override
public float getPageWidth(int position) {
return 0.75f;
}
您可以通过此选项查看左侧视图吗?您不应该直接使用
widthFactor
,而应该在PagerAdapter的getPageWidth()
实现中返回所需的值。