使用handler+viewpager写完的基础上,在handler中加一个方法
private List<ImageView> lists=new ArrayList<>();//创建一个泛型是图片的集合用来存储
传过去页面设置的默认项的下标,因为viewpager循环的长度是无限的,而指示器只是有3个图片
设置给指示器view pager的下标来选中,所以viewpager的下标取模指示器的长度来达到
view pager和指示器同步
setSelectedPoint(cxIndex%lists.size ()); //设置选中的小圆点
private void setSelectedPoint(int pageIndex) { for (int i = 0; i <lists.size () ; i++) { if(i==pageIndex){ lists.get (i).setImageResource (R.drawable.point_selected); }else { lists.get (i).setImageResource (R.drawable.point_unselected); } }在给viewpager设置适配器之后添加一个方法
private List<String> imgUrls=new ArrayList<>();//存放图片URLd的集合
//初使化指示器
initPoint();
private void initPoint() {
for (int i = 0; i <imgUrls.size() ; i++) {
ImageView imageView=new ImageView(this);
//设置它的布局参数
LinearLayout.LayoutParams params=new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT);
params.setMargins(0,0,10,0);//设置右边的间隔
if(i==0){
imageView.setImageResource(R.drawable.point_selected);//选中的小圆点
}else{
imageView.setImageResource(R.drawable.point_unselected);
}
linPoint.addView(imageView,params);
lists.add(imageView);
}
}