ViewPager添加圆点
来源:互联网 发布:java培训机构排名 编辑:程序博客网 时间:2024/06/04 08:17
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; // 当前页面 @Override protected 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替换掉setOnPageChangeListener mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { //当前页面 @Override public void onPageSelected(int position) { // TODO Auto-generated method stub dots.get(oldPosition).setBackgroundResource(R.mipmap.point_normal); dots.get(position).setBackgroundResource(R.mipmap.point_select); oldPosition = position; currentItem = position; } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { } @Override public 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; @Override protected 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替换掉setOnPageChangeListener mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { //当前页面 @Override public void onPageSelected(int position) { //遍历当前页改变背景其他背景设为常规 for (ImageView iv1 : dots) { iv1.setImageResource(R.mipmap.point_normal); } dots.get(position).setImageResource(R.mipmap.point_select); } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { } @Override public 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>
0 1
- ViewPager添加圆点
- 给ViewPager添加引导点
- viewpager动态添加小圆点
- ViewPager 轮播图,添加指示点
- ViewPager动态添加小圆点
- ViewPager动态添加小圆点
- ViewPager添加圆点,循环翻页。fragment的使用
- ViewPager添加圆点indicator,及ViewPager的循环滚动、自动滚动
- viewpager添加小圆点的方法
- [ViewPager、二]ViewPager 小圆点 动态添加
- Android UI设计(引导界面):ViewPager之界面添加底部圆点与循环显示
- viewpager的圆点指示器
- ViewPager底部圆点指示器
- 圆点与Viewpager联动
- [Android]最省内存的ViewPager添加小圆点指示器
- [Android]最省内存的ViewPager添加小圆点指示器
- 动态添加viewpager中的item以及小圆点指示器
- ViewPager左右滑动并带有圆点
- Thinking in java 之:静态数据的初始化及初始化顺序
- 鼠标放在文章标题上,下划线改变颜色
- qml-------------实现一个简单的图片加载程序
- 使用Jackson的JSON包,判断JSON是否相等
- 为自定义的类写<<(输出)操作符
- ViewPager添加圆点
- linux tomcat创建文件夹乱码(显示:???)
- mac 提示This client is too old to work with the working copy at...
- 关于dB单位的一些总结
- 2014届华为上机题目及参考答案
- mybatis显示sql语句 log4j.properties配置文件
- Java性能优化(11):考虑实现Comparable接口
- Opencv中的几种边缘检测算法
- LightOJ 1370-Bi-shoe and Phi-shoe(欧拉函数)