无限轮播图的布局和小圆点的实现

来源:互联网 发布:开心消消乐数据同步 编辑:程序博客网 时间:2024/05/20 23:32

XML布局<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main"    android:layout_width="match_parent" android:layout_height="match_parent">    <android.support.v4.view.ViewPager        android:id="@+id/view_pager"        android:layout_width="match_parent"        android:layout_height="200dp">    </android.support.v4.view.ViewPager>    <LinearLayout        android:id="@+id/linear_layout"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignBottom="@+id/view_pager"        android:layout_centerHorizontal="true"        android:layout_marginBottom="20dp"        android:orientation="horizontal">    </LinearLayout></RelativeLayout>


小圆点的实现
    private void initDoc() {        //首先需要一个集合记录这些小圆点的图片,,,,当页面切换的时候,可以从集合中取出imageView进行显示图片的设置        images = new ArrayList<>();        linearLayout.removeAllViews();//清空/移除所有的view        for (int i = 0;i<list.size();i++){            ImageView imageView = new ImageView(MainActivity.this);            if (i==0){//显示第一页,,,红的                imageView.setImageResource(R.drawable.doc_select);            }else {//绿的                imageView.setImageResource(R.drawable.doc_select_no);            }            //添加到集合            images.add(imageView);            //加入到线性布局中显示            LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT);            params.setMargins(5,0,5,0);            linearLayout.addView(imageView,params);        }
轮播图小圆点点的绑定
  @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.doc_select);                    }else {                        images.get(i).setImageResource(R.drawable.doc_select_no);                    }                }            }            @Override            public void onPageScrollStateChanged(int state) {            }        });





原创粉丝点击