* 动态添加小圆点 <根据网络获取的图片数量,动态 灵活添加圆点数量>
* @param list
*/
//shape.xml 文件的配置
//红色圆点
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#ff0000"/>
<corners android:radius="10dp"/>
<size android:height="10dp" android:width="10dp"/>
</shape>
//绿色圆点
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#00ff00"/>
<corners android:radius="10dp"/>
<size android:height="10dp" android:width="10dp"/>
</shape>
//java代码的逻辑处理
private void initDoc(List<DataDataBean.DataBean> list) {//1.需要一个集合记录一下小圆点的imageView控件
images = new ArrayList<ImageView>();
//2...linearLayout上面的视图清空一下再去添加
linearLayout.removeAllViews();
for (int i=0;i<list.size();i++){
ImageView imageView = new ImageView(MainActivity.this);
if (i==0){
imageView.setImageResource(R.drawable.shape_01);
}else {
imageView.setImageResource(R.drawable.shape_02);
}
//添加到集合去
images.add(imageView);
//添加到线性布局上
//这是布局参数,,刚开始小圆点之间没有距离,所以使用java代码指定宽度高度,并且指定小圆点之间的距离
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT);
params.setMargins(5,0,5,0);
linearLayout.addView(imageView,params);
}
}
//viewPage设置监听事件
viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
/**
* 当选中某个页面的时候,把当前的小圆点背景变成绿色
* @param position
*/
@Override
public void onPageSelected(int position) {
for (int i=0;i<images.size();i++){
if (i == position%images.size()){
images.get(i).setImageResource(R.drawable.shape_01);
}else {
images.get(i).setImageResource(R.drawable.shape_02);
}
}
}
@Override
public void onPageScrollStateChanged(int state) {
}
});