滑动的banner,广告栏
来源:互联网 发布:淘宝的技术水平 编辑:程序博客网 时间:2024/04/27 21:33
这里只做文字的记录,以后若在出现此需求直接复制粘贴就好,不用重新写了^_^!
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); } };
阅读全文