Android ViewPager 上一页和下一页可见?

发布于 2024-12-09 03:00:59 字数 590 浏览 1 评论 0原文

我目前正在建立一个水平视频库。

我想做类似的事情,只以一个视频为中心,并包含上一个和下一个视频的一部分: 在此处输入图像描述

我首先选择了 Gallery 但它的局限性让我寻找其他东西。我想显示一个页面指示器,但使用图库很难实现。

第二种选择是使用 ViewPager 来自 Android 兼容性库。我找到了一种在其上实现 页面指示器 的方法。但现在,如何部分显示左右页呢?

I am currently building a horizontal gallery of videos.

I'd like to make something like that with only one video centered and part of previous and next videos:
enter image description here

I first opted for a Gallery but its limitations made me look for something else. I'd like to show a page indicator and it is quite difficult to implement using a Gallery.

The second option was to go for a ViewPager from Android Compatibility library. I found a way to implement a page indicator over it. But now, how to partly show left and right pages?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

深巷少女 2024-12-16 03:00:59

我使用负页边距来部分显示下一页和上一页。淡入淡出边缘属性可用于使上一页/下一页淡出:

ViewPager examplePager = (ViewPager) findViewById(R.id.exampleView);
examplePager.setPageMargin(-50);
examplePager.setHorizontalFadingEdgeEnabled(true);
examplePager.setFadingEdgeLength(30);

还需要最新的支持包(修订版 4,2011 年 10 月)才能正常工作

I used a negative page margin to partly show the next and the previous pages. The fading edge property can be used to make previous/next page fade:

ViewPager examplePager = (ViewPager) findViewById(R.id.exampleView);
examplePager.setPageMargin(-50);
examplePager.setHorizontalFadingEdgeEnabled(true);
examplePager.setFadingEdgeLength(30);

The lastest support package (revision 4, October 2011) is also required for this to work

我做我的改变 2024-12-16 03:00:59

输入图片此处描述

在 recyclerview 中使用此代码并使用 snap 帮助器

recyclerView.setAdapter(mAdapter);
LinearLayoutManager layoutManager = new 
LinearLayoutManager(getContext(), LinearLayoutManager.HORIZONTAL, 
false);

recyclerView.setLayoutManager(layoutManager);
    new LinearSnapHelper().attachToRecyclerView(recyclerView);

 recyclerView.setScrollingTouchSlop(  recyclerView.TOUCH_SLOP_PAGING);

有关 snaphelper 布局的更多信息

enter image description here

Use this code in recyclerview and use snap helper

recyclerView.setAdapter(mAdapter);
LinearLayoutManager layoutManager = new 
LinearLayoutManager(getContext(), LinearLayoutManager.HORIZONTAL, 
false);

recyclerView.setLayoutManager(layoutManager);
    new LinearSnapHelper().attachToRecyclerView(recyclerView);

 recyclerView.setScrollingTouchSlop(  recyclerView.TOUCH_SLOP_PAGING);

more info about snaphelper layout

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文