循环可叠层的 画廊效果 如何实现?可否给出一个现成的。

wow334 2019-06-05 02:23:03


要求:

1 可以循环。

2 有叠层的效果。按图中的叠层顺序,在循环滑动时不错乱。

不需要倒影,只要上面两点就可以。

我在网上找了很多,都不满意,它们都不能同时达到以上两点需求。有一个达到了两点,作者是完全自定义的view,但是滑动快了也有问题。

...全文
481 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
王能 2019-06-13
  • 打赏
  • 举报
回复
仔细看了看,要想写好只能使用自定义RecyclerView+自定义layoutManager+自定义SnapHelper来实现了,本来想写一个的但感觉1天下来都难成。。。 思路给你自行探索了: 1.让中间的内容居中https://www.jianshu.com/p/1837a801e599 2.自定义类似PagerSnapHelper(官方给的只适合屏幕内有1个条目的情况,多个会有bug) 3.mRv.addOnScrollListener添加scroll监听对条目进行翻转,大致如下

            public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
                super.onScrolled(recyclerView, dx, dy);
                int firstPosition = mManager.findFirstVisibleItemPosition();
                int lastPosition = mManager.findLastVisibleItemPosition();
                for (int i = firstPosition; i <= lastPosition; i++) {
                    View itemView = mManager.findViewByPosition(i);
                    itemView.animate().rotationY(度数).setDuration(0);//3d旋转
                }
            }
wow334 2019-06-11
  • 打赏
  • 举报
回复
引用 1 楼 王能 的回复:
viewpager+差值器
差值器实现:滑动时透明,view有个动画以y轴旋转就可以达到倾斜的效果


现在主要的问题是叠层的排列无法正确,不循环时,可以通过 ViewGroup的getChildDrawingOrder设置叠层顺序,能够正确,但是一旦弄成可以左右循环,叠层就不正确了。

王能 2019-06-06
  • 打赏
  • 举报
回复
viewpager+差值器 差值器实现:滑动时透明,view有个动画以y轴旋转就可以达到倾斜的效果

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧