Comments (10)
是网易云音乐发现页的banner吗?设置BannerViewPager width为match_parent,然后setPageMargin就可以了吧。
对哦,还需要setRevealWidth为负值才可以
from bannerviewpager.
我试了下需要加上setPageStyle,这样子是可以实现的:
mViewPager
.setPageMargin(BannerUtils.dp2px(30))
.setRevealWidth(BannerUtils.dp2px(-15))
.setPageStyle(PageStyle.MULTI_PAGE)
from bannerviewpager.
谢谢大佬,我试了下确实可以的。另外QQ音乐的也是这个样式,但看起来像只有一个margain的,不知道QQ音乐的是怎么实现的
from bannerviewpager.
QQ音乐的
mViewPager
.setPageMargin(BannerUtils.dp2px(15))
.setRevealWidth(BannerUtils.dp2px(0))
.setPageStyle(PageStyle.MULTI_PAGE)
可以实现,完美!!!
from bannerviewpager.
对的,只要知道RevealWidth是两边页面漏出来的宽度,PageMargin是页面间距,最后效果是RevealWidth+PageMargin就能拼出类似效果的所有样式了。
from bannerviewpager.
对比QQ音乐的banner还有两个细节,
第一:如果改成上面说的QQ音乐样式,从屏幕边缘滑动时banner并不会滑动,QQ音乐的从边缘也可以滑动banner,网易云音乐的从边缘不能滑动(建议加个可选配置如果可以的话)
第二:QQ音乐下拉刷新后,banner数据不变的话不会更新,还是保持之前的滑动状态。
这是我观察QQ音乐的情况,不知道说的对不对,希望大佬可以看下。
from bannerviewpager.
@zhpanvip 大佬又看到消息吗?
from bannerviewpager.
1.实现这种样式其实有多种方式,其实你也可以在item的xml文件里边设置一个marginStart、marginEnd就可以实现网易云音乐的效果。
2.目前BannerViewPager没有刷新功能,每次刷新其实都是重新创建了Adapter的。QQ音乐是怎么处理的也不太清楚,他是在数据没变化的情况下就不去刷新了还是做了缓存刷新后又恢复原来的位置了就不得而知了。如果是判断数据没有变化就不去刷新了我觉得完全可以放到APP逻辑中自己处理,完全没必要让库去支持这种需求。另外,就是刷新这块我觉得BannerViewPager还是可以优化一下的。
3.对于其它APP的细节问题BannerViewPager不可能都考虑到,也不可能做到完全支持所有APP的样式及他们的细节处理。这个我觉得是很难得,因为不同产品需求都有自己的考虑。
from bannerviewpager.
README文档末尾新添加了一个交流群,可以加群交流哦。
from bannerviewpager.
好的明白了,感谢回复:wink:
from bannerviewpager.
Related Issues (20)
- 垂直指示器位置 HOT 1
- Recycleview 嵌套 Banner 回收
- 切换一下多语言阿拉伯文,控件之间的距离变大了 HOT 3
- 能否提供api,指定切换到上一页和下一页 HOT 2
- 同一个viewpager页面多次调用stopLoop和startLoop会导致onPageSelected回调两次 HOT 1
- 如果我想 向右 或 向左 自动滑动呢,请问有方法吗 HOT 1
- image set scalType,ui error
- 请问下怎么调整抖音模式下的视频比例 HOT 1
- 能否垂直滚动呢?
- multi_page_scale 模式 添加数据后Scale位置错乱 HOT 1
- 禁止循环之后,有办法让最后一张图贴边滑动不了吗? HOT 1
- 没法扫码下载apk了 HOT 1
- 有些属性在API文档上找不到 HOT 1
- Banner手动滚动单个ItemView一定距离,当前手停止不动,触摸不松开,切换到另一个页面,在切换回来,ItemView会卡着两个ItemView之间,不回回弹初始位置 HOT 2
- 闪退 HOT 1
- 请问一下图片和视频轮播出现问题。
- 在onresume时回调的生命周期没有判定,造成暂停的轮播图没法恢复滚动
- 动态设置指示器可见性没有生效
- refreshData方法在android6.0上无法显示banner
- refreshData会卡一下
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bannerviewpager.