首先设置命名空间:xmlns:imageCoverFlow="http://schemas.android.com/apk/res-auto"
在布局文件中添加ImageCoverFlow
android:id="@+id/coverflow"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="20dp"
android:paddingRight="20dp"
imageCoverFlow:coverflowGravity="center_vertical"
imageCoverFlow:coverflowLayoutMode="wrap_content"
imageCoverFlow:reflectionGap="10dp"
imageCoverFlow:reflectionHeight="30%"
imageCoverFlow:visibleImage="3" >
注意作者在github上的描述是有问题的,没有imageCoverFlow:enableReflection="true"
和imageCoverFlow:reflectionShaderEnable="true"
两个属性,作者根本就没有定义。
另外,visibleImage属性的值必须为基数,否则会报出异常,这个异常是作者有意抛出的。
在Activity中初始化:package com.example.imagecoverflowdemo;
import java.util.ArrayList;
import com.dolphinwang.imagecoverflow.CoverFlowAdapter;
import com.dolphinwang.imagecoverflow.CoverFlowView;
import com.dolphinwang.imagecoverflow.CoverFlowView.CoverFlowGravity;
import com.dolphinwang.imagecoverflow.CoverFlowView.CoverFlowLayoutMode;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
public class MainActivity extends ActionBarActivity {
private ArrayList imgList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
CoverFlowView mCoverFlowView = (CoverFlowView)this.findViewById(R.id.coverflow);
imgList = new ArrayList();
imgList.add(BitmapFactory.decodeResource(this.getResources(), R.drawable.a));
imgList.add(BitmapFactory.decodeResource(this.getResources(), R.drawable.b));
imgList.add(BitmapFactory.decodeResource(this.getResources(), R.drawable.c));
imgList.add(BitmapFactory.decodeResource(this.getResources(), R.drawable.d));
imgList.add(BitmapFactory.decodeResource(this.getResources(), R.drawable.d));
MyCoverFlowAdapter adapter = new MyCoverFlowAdapter();
mCoverFlowView.setAdapter(adapter);
}
public class MyCoverFlowAdapter extends CoverFlowAdapter{
public int getCount(){
return 5;
}
public Bitmap getImage(int position){
return imgList.get(position);
}
}
}