package com.chinaztt.fda.test;
import android.os.Bundle;
import android.os.PersistableBundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import com.chinaztt.fda.ui.R;
import com.chinaztt.fda.ui.base.BaseActivity;
import com.chinaztt.fda.widget.AutoGallery;
import com.chinaztt.fda.widget.FlowIndicator;
import org.androidannotations.annotations.EActivity;
/**
* 当前类注释: 图片轮播封装类的简单使用
* 项目名:FastDev4Android
* 包名:com.chinaztt.fda.test
* 作者:江清清 on 15/10/23 08:35
* 邮箱:jiangqqlmj@163.com
* QQ: 781931404
* 公司:江苏中天科技软件技术有限公司
*/
@EActivity
public class GalleryIndicatorActivity extends BaseActivity{
private LayoutInflater mInflater;
private int[] mImages;
private AutoGallery headline_image_gallery; //自动图片轮播Gallery
private FlowIndicator galleryFlowIndicator; //指示器控件
private int circleSelectedPosition = 0; // 默认指示器的圆圈的位置为第一项
private int gallerySelectedPositon = 0; // 默认gallery的图片为第一张
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.gallery_indicator_layout);
mInflater=getLayouInflater();
mImages=new int[]{
R.drawable.one,
R.drawable.two,
R.drawable.three,
R.drawable.four
};
headline_image_gallery=(AutoGallery)this.findViewById(R.id.headline_image_gallery);
galleryFlowIndicator=(FlowIndicator)this.findViewById(R.id.headline_circle_indicator);
int topSize = mImages.length;
//设置指示器圆点的数量
galleryFlowIndicator.setCount(topSize);
//设置当前的位置
galleryFlowIndicator.setSeletion(circleSelectedPosition);
//设置画廊 图片的数量
headline_image_gallery.setLength(topSize);
headline_image_gallery.setAdapter(new GalleryIndicatorAdapter());
gallerySelectedPositon = topSize * 20 + circleSelectedPosition;
//设置画廊当前所指的位置 索引
headline_image_gallery.setSelection(gallerySelectedPositon);
headline_image_gallery.start();
//gallery滚动选择监听
headline_image_gallery
.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent,
View view, int position, long id) {
gallerySelectedPositon = position;
circleSelectedPosition = position
% headline_image_gallery.getLength();
galleryFlowIndicator
.setSeletion(circleSelectedPosition);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
//gallery点击选中事件
headline_image_gallery.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
int index=position
% headline_image_gallery.getLength()+1;
showToastMsgShort("点击了第"+index+"个图片!");
}
});
}
class GalleryIndicatorAdapter extends BaseAdapter{
@Override
public int getCount() {
return Integer.MAX_VALUE;
}
@Override
public Object getItem(int position) {
return mImages[position];
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Hondler _Hondler=null;
if(convertView==null){
_Hondler=new Hondler();
convertView=mInflater.inflate(R.layout.headline_gallery_item,null);
_Hondler.headline_gallery_imageview=(ImageView)convertView.findViewById(R.id.headline_gallery_imageview);
convertView.setTag(_Hondler);
}else
{
_Hondler=(Hondler)convertView.getTag();
}
int mPosition = position % mImages.length;
_Hondler.headline_gallery_imageview.setImageResource(mImages[mPosition]);
return convertView;
}
}
static class Hondler{
ImageView headline_gallery_imageview;
}
}