参考 ImageCoverFlow-master 修改的,使用 ImageView 来实现,可加载本地图片和网络图片等,使用方法与 LIST 一样,设置相应的控件、修改 imageCoverFlow 布局的参数即可。
效果预览
效果图
效果预览 GIF
依赖
JitPack 引入方法
1. 在 Project 下的 build.gradle 添加
1 | allprojects { |
2. 在 Module 下的 build.gradle 添加
1 | dependencies { |
使用
- 在 xml 中引用 CoverFlowView
1 | <com.img.coverflow.widget.CoverFlowView |
属性说明
CoverFlow 的 Gravity:imageCoverFlow:coverflowGravity=”center_vertical”
CoverFlow 的模式:imageCoverFlow:coverflowLayoutMode=”wrap_content”
倒影间隙:imageCoverFlow:reflectionGap=”10dp”
倒影高度:imageCoverFlow:reflectionHeight=”30%”
设置可见个数:imageCoverFlow:visibleImage=”3”
…
- 初始化 CoverFlowView,设置适配器、数据、监听器等
1 | coverFlowView = (CoverFlowView) findViewById(R.id.coverflow); |
- 创建 Adapter,实现(implements)ICoverFlowAdapter,和正常的 Adapter 一样使用
在 getData
方法中设置 item 的数据即可。
- 更多
- 向前一页
1
coverFlowView.gotoPrevious();
- 向后一页
1
coverFlowView.gotoForward();
- 获取最上面 Item 的 position
1
int position = coverFlowView.getTopViewPosition();
- 获取最上面 Item 的 View……
1
CoverFlowAdapter.Holder holder = (CoverFlowAdapter.Holder) coverFlowView.getTopView().getTag();
- 向前一页
就到这里,更多的细节,请参考 demo 和源码,传送门 。