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. anki 插入表格_另一种把思维导图和excel表格放入anki的方式
  2. JavaScript触摸与手势事件
  3. C/C++程序设计IDE推荐
  4. JAVA单例模式:懒汉式,饿汉式
  5. mediastream2使用指南(转载)
  6. leetcode22. 括号生成(回溯)
  7. python拼图游戏代码,OpenCV Python实现拼图小游戏
  8. 数据结构上机实践第八周项目4-字符串加密
  9. WindowsServer2008R2系统版本升级
  10. 智能送药小车(F 题)--2021 年全国大学生电子设计竞赛
  11. HTML期末作业,仿b站视频项目模板(HTML+CSS+JS)
  12. 5G网络结构核心网侧接口介绍
  13. 抖音快手短视频去水印小程序解析接口API开发文档
  14. 计算机cpu结构实物图片,cpu内部结构显微图/cpu内部结构放大图
  15. 三级网络技术--宽带接入技术--无线接入技术、光纤接入技术
  16. 高考数学必背公式整理[衡水中学高中数学组]
  17. Qt中使用TCP和MC协议与三菱Q系列PLC通信
  18. GTK、GDK、GLIB三者的关系 - 阿堂的专栏 - 博客频道 - CSDN.NET
  19. 一个简单音乐播放器的java实现(一)
  20. 《网络攻防》 恶意代码分析

热门文章

  1. 【编译原理】中间代码优化(二) 局部优化
  2. 浅水LiDAR测水深公式
  3. 视频网站试水正版影视剧同步播出 免费大餐能吃多久
  4. 绝对定位bottom失效
  5. 推荐一些适合新手练手的C/C++项目
  6. 南昌大学计算机与科学专业就业前景,南昌大学好就业吗?附南昌大学就业率最高的专业名单...
  7. 使用KONGA配置Elasticsearch中的数据作为API接口
  8. 送书| 9位大咖推荐、12页良心书评, 这本干货满满的《区块链2.0》图书送你了
  9. jeecgboot问题解决方案
  10. 在高温环境下利用金属钋、铍和锂制备氚化锂的方法