先看下效果
小圆点的形状和颜色都是可以自己定义的,看需求
首先第一步,滑2个圆点,一个是选中后的圆点,一个是未选中的圆点,看选中的圆点shape
<&#63;xml version="1.0" encoding="utf-8"&#63;>
未选中的
<&#63;xml version="1.0" encoding="utf-8"&#63;>
是不是很简单,就指定一个圆形,一个颜色
接下来就是定义一个selector,用来控制选中和非选中
<&#63;xml version="1.0" encoding="utf-8"&#63;>
然后就是mainActivity的布局文件,放置一个ViewPager,下面放置一个LinearLayout,用来装小圆点
<&#63;xml version="1.0" encoding="utf-8"&#63;>
接下来就是MainActivity的代码,其实很简单,都有注释,就不细说了
package com.duanlian.viewpagerindicatordemo; import android.os.Bundle; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import android.widget.ImageView; import android.widget.LinearLayout; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { private ViewPager mViewPager; private LinearLayout mLinear; private ListmList; private PagerAdapter mPagerAdapter; private int[] imageArray = {R.mipmap.banner1, R.mipmap.banner2, R.mipmap.banner3, R.mipmap.ic_launcher}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); initPoint(); } private void initView() { mViewPager = (ViewPager) findViewById(R.id.viewpager); mLinear = (LinearLayout) findViewById(R.id.linear); //给ViewPager添加图片显示 mList = new ArrayList<>(); for (int i = 0; i
最后附上ViewPager的adapter
package com.duanlian.viewpagerindicatordemo; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import java.util.List; /** * viewPager的adapter */ public class PagerAdapter extends android.support.v4.view.PagerAdapter{ private Listlist; public PagerAdapter(List list) { this.list = list; } @Override public int getCount() { return list.size(); } @Override public boolean isViewFromObject(View view, Object object) { return view==object; } @Override public Object instantiateItem(ViewGroup container, int position) { container.addView(list.get(position));//添加页卡 return list.get(position); } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView(list.get(position));//删除页卡 } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。