android可视页面可定制

android可视页面可定制,android,android-viewpager,Android,Android Viewpager,我需要实现一个滚动视图,如图所示: 也就是说,在“空闲”状态下,图像“1”是全尺寸可见的,而图像“2”是部分可见的(从而向用户提示他可以滚动内容)。滚动后,scrool视图不得停留在中间状态,滚动必须完成(就像打开“已启用分页”时iOS的滚动视图所做的那样): 我拒绝使用HorizontalScrollView,因为它与“Paging Enabled”属性没有任何相似之处 谷歌搜索之后,我发现了android.support.v4.view.ViewPager。它的滚动行为正是我想要的,但我

我需要实现一个滚动视图,如图所示:

也就是说,在“空闲”状态下,图像“1”是全尺寸可见的,而图像“2”是部分可见的(从而向用户提示他可以滚动内容)。滚动后,scrool视图不得停留在中间状态,滚动必须完成(就像打开“已启用分页”时iOS的滚动视图所做的那样):

我拒绝使用
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()
实现中返回所需的值。