html5 coverflow,使用FancyCoverFlow实现3D无限循环切换视图
FancyCoverFlow重寫了gallery實現了畫廊特效。這里記錄下具體的使用方法:
1 在布局文件中添加控件
android:id="@+id/fancy_cover"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:padding="0dp"
/>
2 更具視圖的需要,可以對FancyCoverFlow控件的顯示效果進行修改。
fancyCover = (FancyCoverFlow) findViewById(R.id.fancy_cover);
fancyCover.setAdapter(new FancyCoverFlowAdapter() {
@Override
public View getCoverFlowItem(int position, View reusableView, ViewGroup parent) {
ImageView iv = new ImageView(mContext);
Gallery.LayoutParams params = new Gallery.LayoutParams((int) (AppUtil.getScreenSize(mContext, 0) / 3 - AppUtil.dpToPixel(10)), (int) (AppUtil.getScreenSize(mContext, 1) / 3 - AppUtil.dpToPixel(10)));
iv.setLayoutParams(params);
iv.setImageResource(R.drawable.lena);
return iv;
}
@Override
public int getCount() {
//實現無限循環,設置count為最大值
return Integer.MAX_VALUE;
}
@Override
public Object getItem(int position) {
return dataSet.get(position % dataSet.size());
}
@Override
public long getItemId(int position) {
return 0;
}
});
fancyCover.setUnselectedAlpha(0.0f);
//未選中時的縮放比例
fancyCover.setUnselectedScale(0.5f);
fancyCover.setSpacing(45);
fancyCover.setMaxRotation(0);
//未選擇項的下對齊比例 0f:上對齊 0.5f:居中對齊 1f:下對齊
fancyCover.setScaleDownGravity(0.5f);
fancyCover.setActionDistance(FancyCoverFlow.ACTION_DISTANCE_AUTO);
3 實現的效果如下:
1.jpg
2.jpg
存在的問題:
滑動過程中有邊框線顯示出來了。
解決方案:
將布局文件設定固定的高度:
android:id="@+id/fancy_cover"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_marginTop="10dp"
android:padding="0dp"
/>
這樣在滑動過程中就不會出現虛線框了。
總結
以上是生活随笔為你收集整理的html5 coverflow,使用FancyCoverFlow实现3D无限循环切换视图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java channel源码_Netty
- 下一篇: git查看之前的提交日志