ViewPager添加圆点
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添加圆点相关推荐
- ViewPager添加小圆点
ViewPager添加小圆点很简单,但是如果是网络图片可能就不太好做了,所以我这里给出一种方法,当然你也可以用其他的 1.主界面xml <?xml version="1.0" ...
- ViewPager 添加广告页面小圆点指示器效果
介绍 我们的应用几乎都有启动引导页介绍,通常是3~4张引导图,然后进入我们的主界面.大家可以发现,我们大部分引导界面都会有一种指示器(也就是小圆点,这里比较常见).除了引导页以外呢,我们常见的广告页也 ...
- ViewPager底部圆点指示器
在APP的ViewPager引导页面中, 我们通常可以看到底部有小圆点显示当前是第几页, 我们来试一下这个效果是怎么实现的, 效果图如下: {% cq %} 代码是最为耐心.最能忍耐和最令人愉快的伙伴 ...
- 解决ViewPager添加点击监听器无触发的问题
参考这个帖子:http://stackoverflow.com/questions/10243690/onclick-on-viewpager-not-triggered 后续写心得 源码不知道怎么传 ...
- TabLayout+ViewPager无限轮播加小圆点,XRecyclerView下拉刷新,加载更多
效果图 要导入的依赖 compile files('libs/okhttp-3.9.0.jar') compile files('libs/okio-1.13.0.jar') comp ...
- android listview动态添加viewpager,请教大神,android如何在viewpager里添加listview,谢谢啦...
满意答案 wenadkdxg2 2015.05.06 采纳率:55% 等级:9 已帮助:411人 先说ViewPager,ViewPager是google官方提供的一个兼容低版本android设 ...
- android viewpager 复杂指示器_View Pager 性能优化之 无限循环
ViewPager实现无限滑动 方案一:将viewpager上限设置成一个很大的数,第一个页面设置到中间.然后滑动的时候,用当前的序号与viewpager页面数取余得到目标页面的序号,然后显示出来.理 ...
- Android笔记之ViewPager实现滑动页面
1.概述; Viewpager的最大特点就是实现滑动的界面 多个页面的内容可以有两种填充方式:View (普通Activity下),Fragment(V4的Fragmentctivity或者Fragm ...
- [Android]使用ViewPager实现图片滑动展示
在淘宝等电商的APP首页经常能看到大幅的广告位,通常有多幅经常更新的图片用于展示促销信息,如下图所示: 通常会自动滚动,也可以根据手势滑动.我没有研究过人家的APP是通过什么实现的,可能有第三方已经封 ...
最新文章
- anki 插入表格_另一种把思维导图和excel表格放入anki的方式
- JavaScript触摸与手势事件
- C/C++程序设计IDE推荐
- JAVA单例模式:懒汉式,饿汉式
- mediastream2使用指南(转载)
- leetcode22. 括号生成(回溯)
- python拼图游戏代码,OpenCV Python实现拼图小游戏
- 数据结构上机实践第八周项目4-字符串加密
- WindowsServer2008R2系统版本升级
- 智能送药小车(F 题)--2021 年全国大学生电子设计竞赛
- HTML期末作业,仿b站视频项目模板(HTML+CSS+JS)
- 5G网络结构核心网侧接口介绍
- 抖音快手短视频去水印小程序解析接口API开发文档
- 计算机cpu结构实物图片,cpu内部结构显微图/cpu内部结构放大图
- 三级网络技术--宽带接入技术--无线接入技术、光纤接入技术
- 高考数学必背公式整理[衡水中学高中数学组]
- Qt中使用TCP和MC协议与三菱Q系列PLC通信
- GTK、GDK、GLIB三者的关系 - 阿堂的专栏 - 博客频道 - CSDN.NET
- 一个简单音乐播放器的java实现(一)
- 《网络攻防》 恶意代码分析
热门文章
- 【编译原理】中间代码优化(二) 局部优化
- 浅水LiDAR测水深公式
- 视频网站试水正版影视剧同步播出 免费大餐能吃多久
- 绝对定位bottom失效
- 推荐一些适合新手练手的C/C++项目
- 南昌大学计算机与科学专业就业前景,南昌大学好就业吗?附南昌大学就业率最高的专业名单...
- 使用KONGA配置Elasticsearch中的数据作为API接口
- 送书| 9位大咖推荐、12页良心书评, 这本干货满满的《区块链2.0》图书送你了
- jeecgboot问题解决方案
- 在高温环境下利用金属钋、铍和锂制备氚化锂的方法