画出两个 shape 文件 属性为 shape="oval" 圆形
在 <solid android:color="#f00" /> 中指定颜色
ViewPager控件增加一个 LinearLayout 横向线性布局 用来根据图片的数量进行添加圆点
初始化圆点
private List<ImageView> imageViews = new ArrayList<>(); // 小圆点
for (int i = 0; i < 轮播图片数量 ; i++) {
ImageView imageView = new ImageView(PullToRefershScrollViewActivity.this);//创建视图
imageView.setScaleType(ImageView.ScaleType.FIT_XY);//自适应
if (i == 0) {
imageView.setImageResource(R.drawable.point_red);//深色
} else {
imageView.setImageResource(R.drawable.point_gray);//浅色
}
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(40, 40);
params.setMargins(20, 10, 20, 10);
llPoint.addView(imageView, params);//添加到横向线性布局中
imageViews.add(imageView); //圆点的集合
}
mHandler.sendEmptyMessageDelayed(1, 2000);//发送消息
Handler中的代码
private Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
int currentItem = vp.getCurrentItem();
int item = (currentItem + 1) % bannerBeans.size();
Log.i(TAG, "currentItem:" + currentItem + "item:" + item);
vp.setCurrentItem(item);
changePoint(item);
sendEmptyMessageDelayed(1, 2000);
}
};
private void changePoint(int item) {
for (int i = 0; i < bannerBeans.size(); i++) {
if (i == item) {
imageViews.get(i).setImageResource(R.drawable.point_red);
} else {
imageViews.get(i).setImageResource(R.drawable.point_gray);
}
}
}