这里只做文字的记录,以后若在出现此需求直接复制粘贴就好,不用重新写了^_^!
private LinearLayout point_group;
private ViewPager view_banner;
private ArrayList<View> point_list = new ArrayList<View>();
private ArrayList<View> bannerList = new ArrayList<View>();// 轮播广告View
view_banner.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageSelected(int position) {
for (int i = 0; i < point_list.size(); i++) {
if (i == position % point_list.size()) {
point_list.get(i).setBackgroundResource(
R.mipmap.point1);
} else {
point_list.get(i).setBackgroundResource(
R.mipmap.point);
}
}
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
@Override
public void onPageScrollStateChanged(int arg0) {
}
});
/**
* 初始化 广告的点
*/
private void initPoint() {
for (int i = 0; i < bannerList.size(); i++) {
ImageView iv = new ImageView(mContext);
if (i == 0) {
iv.setBackgroundResource(R.mipmap.point1);
} else {
iv.setBackgroundResource(R.mipmap.point);
}
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
lp.setMargins(10, 0, 10, 0);
iv.setLayoutParams(lp);
point_list.add(iv);
point_group.addView(iv);
}
handler.postDelayed(r, 5000);
}
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case 1:
if (bannerList.size() > 3) {
view_banner.setCurrentItem(view_banner.getCurrentItem() + 1);
} else {
if (view_banner.getCurrentItem() == bannerList.size() - 1) {
view_banner.setCurrentItem(0);
} else {
view_banner.setCurrentItem(view_banner.getCurrentItem() + 1);
}
}
handler.postDelayed(r, 5000);
break;
}
}
};
private Runnable r = new Runnable() {
@Override
public void run() {
Message msg = handler.obtainMessage();
msg.what = 1;
handler.sendMessageDelayed(msg, 5000);
}
};