參考 ImageCoverFlow-master 修改的,使用 ImageView 來實現,可加載本地圖片和網絡圖片等,使用方法與 LIST 一樣,設置相應的控件、修改 imageCoverFlow 布局的參數即可。
效果預覽
效果圖
ImgCoverFlow 效果圖
效果預覽 GIF
ImgCoverFlow 效果預覽 GIF
依賴
JitPack 引入方法
1. 在 Project 下的 build.gradle 添加
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
2. 在 Module 下的 build.gradle 添加
dependencies {
compile 'com.github.lishide:ImgCoverFlow:v1.0.1'
}
使用
- 在 xml 中引用 CoverFlowView
<com.img.coverflow.widget.CoverFlowView
android:id="@+id/coverflow"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:paddingLeft="10dp"
android:paddingRight="10dp"
imageCoverFlow:coverflowGravity="center_vertical"
imageCoverFlow:coverflowLayoutMode="wrap_content"
imageCoverFlow:reflectionGap="10dp"
imageCoverFlow:reflectionHeight="30%"
imageCoverFlow:visibleImage="3"/>
屬性說明
CoverFlow 的 Gravity:imageCoverFlow:coverflowGravity="center_vertical"
CoverFlow 的模式:imageCoverFlow:coverflowLayoutMode="wrap_content"
倒影間隙:imageCoverFlow:reflectionGap="10dp"
倒影高度:imageCoverFlow:reflectionHeight="30%"
設置可見個數:imageCoverFlow:visibleImage="3"
...
- 初始化 CoverFlowView,設置適配器、數據、監聽器等
coverFlowView = (CoverFlowView) findViewById(R.id.coverflow);
coverFlowView.setAdapter(coverFlowAdapter);
//給coverFlowView的TOPView添加點擊事件監聽
coverFlowView.setOnTopViewClickListener(mOnTopViewClickListener);
- 創建 Adapter,實現(implements)ICoverFlowAdapter,和正常的 Adapter 一樣使用
在 getData
方法中設置 item 的數據即可。
-
更多
- 向前一頁
coverFlowView.gotoPrevious();
- 向后一頁
coverFlowView.gotoForward();
- 獲取最上面 Item 的 position
int position = coverFlowView.getTopViewPosition();
- 獲取最上面 Item 的 View
CoverFlowAdapter.Holder holder = (CoverFlowAdapter.Holder) coverFlowView.getTopView().getTag();
......
就到這里,更多的細節,請參考 demo 和源碼,傳送門 。