小圆点
思路:首先在xml中加载一个linearLayout给小圆点一个位置 在onCreate()方法中创建添加小圆点的方法initDot();
private void initDot() {在setOnPageChangeListener的监听中的onPageSelected的方法中写
for (int i = 0; i < img.length; i++) {
ImageView iv = new ImageView(this);
if(i == 0){
iv.setImageResource(R.drawable.selected);
}else{
iv.setImageResource(R.drawable.normal);
}
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(20,20);
params.setMargins(5,0,5,0);
ll.addView(iv,params);
listIv.add(iv);//此listView为private List<ImageView> listIv = new ArrayList<>();
}
}
for (int i = 0; i < img.length; i++) {
if(position(*img.lenth) == i){//括号为无线轮播
listIv.get(i).setImageResource(R.drawable.selected);
}else{
listIv.get(i).setImageResource(R.drawable.normal);
}
}
无线轮播
在adapter中的getCount中返回Integer.MAX_VALUES;
在设置图片的时候索引加上%img.length
自动轮播private Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
int currentItem = vp.getCurrentItem();
currentItem ++;
vp.setCurrentItem(currentItem);
}
};
initDots();
//使用timer和handler结合Timer t = new Timer();TimerTask task = new TimerTask() { @Override public void run() { handler.sendEmptyMessage(0); }};