Android中的Gallery控件是十分灵活的,使用它可以做出许多很炫的效果.接下来要实现的一
中效果在上一篇文章的基础上,实现了循环、覆盖、3D的效果。具体的情况如何?
老规矩先上效果图:
第一张
第二张
第三张
要实现该效果,首先需要自己重新继承一下Gallery
package com.kiritor;
import android.content.Context;
import android.graphics.Camera;
import android.graphics.Matrix;
import android.util.AttributeSet;
import android.util.Log;
import android.view.View;
import android.view.animation.Transformation;
import android.widget.Gallery;
public class CoverFlow extends Gallery {
// mCamera是用来做�?D效果处理,比如Z轴方向上的平移,绕Y轴的旋转�?
private Camera mCamera = new Camera();
// mMaxRotationAngle是图片绕Y轴最大旋转角度,也就是屏幕最边上那两张图片的旋转角度
private int mMaxRotationAngle = 50;
// mMaxZoom是图片在Z轴平移的距离,z轴是面向桌面�?平移-200也就形成
//在视觉上形成了放大缩小的效果�?
private int mMaxZoom = -200;
private int mCoveflowCenter;//保存视图的中�?
private boolean mAlphaMode = true;//声明两种模式
private boolean mCircleMode = true;
public CoverFlow(Context context) {
super(context);
this.setStaticTransformationsEnabled(true);
}
public CoverFlow(Context context, AttributeSet attrs) {
super(context, attrs);
this.setStaticTransformationsEnabled(true);
}
public CoverFlow(Context context, AttributeSet attrs, int defStyle)