效果网上已经很多人做出来了,只是这次需要用到,所以自己也实践了一下(这里例子我也是根据网上一些资料编写)。特下面针对一些关键代码进行简要说明,需要做这方面东西的朋友可以看看。这篇文章是实用性文章,理论分析不多。
下面说下具体的类作用:
一:这个是主页:操作的内容不多,可以具体看一下
public class MainActivity extends Activity {
DisplayImageOptions options;
private ImageLoader imageLoader;
private FancyCoverFlow fancyCoverFlow;
private List filmList;
private ImageAdapter adapter;
private int cur_index = 0;
private int count_drawble;
private static int MSG_UPDATE = 1;
// 定时任务
private ScheduledExecutorService scheduledExecutorService;
// 通过handler来更新主界面
private Handler handler = new Handler() {
public void handleMessage(Message msg) {
if (msg.what == MSG_UPDATE) {
fancyCoverFlow.setSelection(cur_index);
}
}
};
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
filmList = FilmInfoTest.getfilmInfo();
Log.i(“INFO”, filmList.size()+“条目数”);
// 配置option
options = new DisplayImageOptions.Builder()
.showStubImage(R.drawable.logo)
.showImageForEmptyUri(R.drawable.logo)
.showImageOnFail(R.drawable.ic_error).cacheInMemory(true)
.cacheOnDisc(true).bitmapConfig(Bitmap.Config.RGB_565).build();
imageLoader = ImageLoader.getInstance();
adapter = new ImageAdapter(this, filmList, options, imageLoader);
fancyCoverFlow = (FancyCoverFlow) findViewById(R.id.fancyCoverFlow);
// item之间的间隙可以近似认为是imageview的宽度与缩放比例的乘积的一半
fancyCoverFlow.setSpacing(-180);
fancyCoverFlow.setAdapter(adapter);
fancyCoverFlow.setSelection(1002);
// fancyCoverFlow.setActionDistance(10);
fancyCoverFlow.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
cur_index = position;
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
// 点击事件
fancyCoverFlo