ViewPager用法参考上一篇http://blog.csdn.net/taoolee/article/details/48162507

方法一XML中实现

public class MainActivity extends Activity {private ViewPager mViewPager;private List<View> views;//管理圆点的private List<View>dots;private LayoutInflater mInflater;private int oldPosition = 0;// 记录上一次点的位置private int currentItem; // 当前页面@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);dots = new ArrayList<View>();dots.add(findViewById(R.id.dot_1));dots.add(findViewById(R.id.dot_2));dots.add(findViewById(R.id.dot_3));
//另外一种实现方法实在代码中实现for(int i=0;i<3;i++){ImageView iv1=new ImageView(this);iv1.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.MATCH_PARENT));iv1.setImageResource(R.mipmap.point_normal);}mViewPager = (ViewPager) findViewById(R.id.viewpager);views = new ArrayList<>();mInflater = getLayoutInflater();View view1 = mInflater.inflate(R.layout.viewpager_item1, null);View view2 = mInflater.inflate(R.layout.viewpager_item2, null);View view3 = mInflater.inflate(R.layout.viewpager_item3, null);views.add(view1);views.add(view2);views.add(view3);MyAdapter myAdapter=new MyAdapter(views);mViewPager.setAdapter(myAdapter);//因为开始页面不响应页面滑动,所以先把开始页面设置为选中背景dots.get(0).setBackgroundResource(R.mipmap.point_select);//设置ViewPager的默认项, 设置为长度的100倍,这样子开始就能往左滑动// mViewPager.setCurrentItem((views.size()) * 100);//addOnPageChangeListener替换掉setOnPageChangeListenermViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {//当前页面@Overridepublic void onPageSelected(int position) {// TODO Auto-generated method stubdots.get(oldPosition).setBackgroundResource(R.mipmap.point_normal);dots.get(position).setBackgroundResource(R.mipmap.point_select);oldPosition = position;currentItem = position;}@Overridepublic void onPageScrolled(int arg0, float arg1, int arg2) {}@Overridepublic void onPageScrollStateChanged(int arg0) {}});}
}
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"android:paddingBottom="@dimen/activity_vertical_margin"tools:context=".MainActivity"><FrameLayout
        android:layout_width="match_parent"android:layout_height="match_parent" ><android.support.v4.view.ViewPager
            android:id="@+id/viewpager"android:layout_width="match_parent"android:layout_height="match_parent" /><LinearLayout
            android:layout_width="match_parent"android:layout_height="35dip"android:layout_gravity="bottom"android:gravity="center"android:orientation="vertical" ><LinearLayout
                android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="3dip"android:orientation="horizontal" ><View
                    android:id="@+id/dot_1"android:layout_width="10dip"android:layout_height="10dip"android:layout_marginLeft="2dip"android:layout_marginRight="2dip"android:background="@mipmap/point_normal" /><View
                    android:id="@+id/dot_2"android:layout_width="10dip"android:layout_height="10dip"android:layout_marginLeft="2dip"android:layout_marginRight="2dip"android:background="@mipmap/point_normal" /><View
                    android:id="@+id/dot_3"android:layout_width="10dip"android:layout_height="10dip"android:layout_marginLeft="2dip"android:layout_marginRight="2dip"android:background="@mipmap/point_normal" /></LinearLayout></LinearLayout></FrameLayout></RelativeLayout>

方法二代码中实现

public class MainActivity extends Activity {private ViewPager mViewPager;private List<View> views;//管理圆点的private List<ImageView> dots;private LayoutInflater mInflater;private LinearLayout mLinearLayout;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//另外一种实现方法在代码中实现dots = new ArrayList<>();mLinearLayout= (LinearLayout) findViewById(R.id.linerlayout);for (int i = 0; i < 3; i++) {ImageView iv1 = new ImageView(this);iv1.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));iv1.setImageResource(R.mipmap.point_normal);iv1.setLeft(50);dots.add(iv1);mLinearLayout.addView(iv1);}//因为开始页面不响应页面滑动,所以先把开始页面设置为选中背景setBackgroundResource不可以dots.get(0).setImageResource(R.mipmap.point_select);mViewPager = (ViewPager) findViewById(R.id.viewpager);views = new ArrayList<>();mInflater = getLayoutInflater();View view1 = mInflater.inflate(R.layout.viewpager_item1, null);View view2 = mInflater.inflate(R.layout.viewpager_item2, null);View view3 = mInflater.inflate(R.layout.viewpager_item3, null);views.add(view1);views.add(view2);views.add(view3);MyAdapter myAdapter = new MyAdapter(views);mViewPager.setAdapter(myAdapter);//addOnPageChangeListener替换掉setOnPageChangeListenermViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {//当前页面@Overridepublic void onPageSelected(int position) {//遍历当前页改变背景其他背景设为常规for (ImageView iv1 : dots) {iv1.setImageResource(R.mipmap.point_normal);}dots.get(position).setImageResource(R.mipmap.point_select);}@Overridepublic void onPageScrolled(int arg0, float arg1, int arg2) {}@Overridepublic void onPageScrollStateChanged(int arg0) {}});}
}

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"android:paddingBottom="@dimen/activity_vertical_margin"tools:context=".MainActivity"><FrameLayout
        android:layout_width="match_parent"android:layout_height="match_parent" ><android.support.v4.view.ViewPager
            android:id="@+id/viewpager"android:layout_width="match_parent"android:layout_height="match_parent" /><LinearLayout
            android:id="@+id/linerlayout"android:layout_width="match_parent"android:layout_height="50dip"android:layout_gravity="bottom"android:gravity="center"android:orientation="horizontal" ></LinearLayout></FrameLayout></RelativeLayout>

ViewPager添加圆点相关推荐

  1. ViewPager添加小圆点

    ViewPager添加小圆点很简单,但是如果是网络图片可能就不太好做了,所以我这里给出一种方法,当然你也可以用其他的 1.主界面xml <?xml version="1.0" ...

  2. ViewPager 添加广告页面小圆点指示器效果

    介绍 我们的应用几乎都有启动引导页介绍,通常是3~4张引导图,然后进入我们的主界面.大家可以发现,我们大部分引导界面都会有一种指示器(也就是小圆点,这里比较常见).除了引导页以外呢,我们常见的广告页也 ...

  3. ViewPager底部圆点指示器

    在APP的ViewPager引导页面中, 我们通常可以看到底部有小圆点显示当前是第几页, 我们来试一下这个效果是怎么实现的, 效果图如下: {% cq %} 代码是最为耐心.最能忍耐和最令人愉快的伙伴 ...

  4. 解决ViewPager添加点击监听器无触发的问题

    参考这个帖子:http://stackoverflow.com/questions/10243690/onclick-on-viewpager-not-triggered 后续写心得 源码不知道怎么传 ...

  5. TabLayout+ViewPager无限轮播加小圆点,XRecyclerView下拉刷新,加载更多

    效果图 要导入的依赖 compile files('libs/okhttp-3.9.0.jar')     compile files('libs/okio-1.13.0.jar')     comp ...

  6. android listview动态添加viewpager,请教大神,android如何在viewpager里添加listview,谢谢啦...

    满意答案 wenadkdxg2 2015.05.06 采纳率:55%    等级:9 已帮助:411人 先说ViewPager,ViewPager是google官方提供的一个兼容低版本android设 ...

  7. android viewpager 复杂指示器_View Pager 性能优化之 无限循环

    ViewPager实现无限滑动 方案一:将viewpager上限设置成一个很大的数,第一个页面设置到中间.然后滑动的时候,用当前的序号与viewpager页面数取余得到目标页面的序号,然后显示出来.理 ...

  8. Android笔记之ViewPager实现滑动页面

    1.概述; Viewpager的最大特点就是实现滑动的界面 多个页面的内容可以有两种填充方式:View (普通Activity下),Fragment(V4的Fragmentctivity或者Fragm ...

  9. [Android]使用ViewPager实现图片滑动展示

    在淘宝等电商的APP首页经常能看到大幅的广告位,通常有多幅经常更新的图片用于展示促销信息,如下图所示: 通常会自动滚动,也可以根据手势滑动.我没有研究过人家的APP是通过什么实现的,可能有第三方已经封 ...

最新文章

  1. router路由react_使用React Router在React中受保护的路由
  2. 爬一爬那些年你硬盘存过的“老师”
  3. oracle 学习小结1
  4. org.hibernate.HibernateException: connnection proxy not usable after transaction
  5. 钢铁厂来了“新员工”破解废钢定级行业难题
  6. python批量处理txt_浅谈Python批处理文件夹中的txt文件
  7. 【Linux】一步一步学Linux——ping命令(150)
  8. 学习C++/C的宏与for循环的结合
  9. WDA 程序文本翻译OTR
  10. 出租广告Java代码_Spring cloud 查询返回广告创意实例代码
  11. Testng 运行Cannot find class in classpath
  12. c语言中char buffer,C语言对char*的封装,形成buffer
  13. Hbase体系架构与安装
  14. Android通过post请求发送一个xml,解析返回xml数据
  15. skyfire塞班_Symbian Foundation的灯光熄灭
  16. 邯郸三中高考2021成绩查询,邯郸2021年中考统考成绩
  17. 【新书速递】集成电路敏捷设计
  18. 单片机AD转换程序 TLC2543
  19. Java电话簿系统超全总结笔记
  20. AD9361 介绍 (中)

热门文章

  1. Kubernetes基于canel的网络策略
  2. 请用两种java方式显示今天的日期_日期时间显示格式的两种设置方法
  3. 《深入浅出DPDK》《DPDK应用基础》读书笔记
  4. 高频电路基础笔记之丙类高频功放
  5. java计算机毕业设计公务用车管理智慧云服务监管平台源码+数据库+系统+lw文档+mybatis+运行部署
  6. Java数据结构——数组、链表
  7. Pandas时间序列 :rolling 用法快速理解
  8. AE中文版 AE2021中文版下载 AfterEffects2021中文版ACR14.0最新下载和安装
  9. 2014可信软件系统工程(国际)暑期学校
  10. 电脑手机游戏助手TC Games常见掉线及连接问题解决方案?