Android多屏滑动:ViewPager自定义小圆圈标签 仿app初次运行时的导航

  • 来源:csdn
  • 作者:anzi1225627
  • 字体:【
  • 时间:2014-05-01
  • 点击:
  • 收藏本文

遗留标签页的问题。纵观App的滑屏体验,标签页无非有三种:一种是每个View对应一个小圆圈,当前View对应的小圆圈颜色和其他不一样。但是所有View的标签在同一时刻都是可见的。如下两张图片所示,这也是本文的效果:

第二种:标签页是类似QQ和微信,只有当前View下有线性标识。其他View么有。效果如下:

第三种:跟第二种类似,但是没有标签页,整个下面的线时同一个颜色,标签就是个RaditoButton来作标识,如下所示:

 

本文介绍第一种效果,类似app第一次安装后运行显示的导航页。这种ViewPager的标签页实现如下
1、在ViewPager的母布局中,放ImageView来标识,有几个View就对应放几个ImageView。如果希望标签在ViewPager的布局上,母布局就用帧布局。希望标识在View的下方就用其他布局,或者写死View的高度.本例中的布局:
activity_main.xml

2、在Java文件里,给ViewPager设置监听setOnPageChangeListener的onPageSelected(),在View切换时显示动画,下面贴出MainActivity.java的全部代码:

 

在initPageIcon()函数里实例化3个ImageView,然后再onCreate()里设置默认显示ViewPager的中间的View:
viewPager.setCurrentItem(1);
currIndex = 1;
img2.setImageResource(R.drawable.page_selected);
接着就是滑动监听,在这里改变标签:

 

  因为三个ImageView在xml都写成默认状态,而currIndex标识切换view前的标签页,arg0表示当前页。以从中间View切换到左边为例,当arg0 = currIndex - 1,就表示从右滑动到了左,anim = new TranslateAnimation(arg0 + 1, arg0, 0, 0);如果切换到的View左右都有View则要设置它左右的view标签到自然态,更多可以参考这个仿微信导航的帖子.
 
TranslateAnimation是一个移位动画,其实这里不用动画直接ImageView改变也是可以
暂无评论
  • 1:请一针见血的评论。
  • 2:评论需要审核通过后才能显示。
  • 3:评论字数限制在1000字以内。
  • 当前字数:0
热门文章
推荐文章
随机文章
关于本站 - 广告服务 - 版权声明 - 联系我们 - 友情链接 - 网站地图 - 帮助中心