Android滚动页面位置指示器:CircleIndicator
Android滚动页面位置指示器:CircleIndicator
CircleIndicator是github上的一个开源的用于页面滚动时候的位置指示器,指示当前页面在总的页面中的位置和前后位置关系,github上的项目主页是:https://github.com/ongakuer/CircleIndicator
其效果如图所示:
可以看到,选中和未被选中时候的球的大小并不相同,且颜色在CircleIndicator中只有一个颜色,未选中的颜色只是选中时候颜色的半透明。但是在有些设计需求中,设计会把滚动的指示小圆球都要求一样的大小,且在滚动指示位置变化时候,需要用不同的颜色区分。这种情况下,就需要对CircleIndicator进行二次开发以适应自身项目的设计需要。针对这种情况,我对CircleIndicator进行了二次开发,实现的结果如图:
(1) 指示器颜色区分。
首先需要在res/drawable下面定义两个不同的shape资源文件。一个用于当前被选中的那个小球位置。另外一个用于未被选中的位置显示的shape资源。然后修改CircleIndicator.java代码中的部分节:
private int mIndicatorBackgroundResId = R.drawable.red_radius; private int mIndicatorUnselectedBackgroundResId = R.drawable.white_radius;
mIndicatorBackgroundResId = typedArray.getResourceId(R.styleable.CircleIndicator_ci_drawable, R.drawable.red_radius); mIndicatorUnselectedBackgroundResId = typedArray.getResourceId(R.styleable.CircleIndicator_ci_drawable_unselected, R.drawable.white_radius);
(2) CircleIndicator圆球一致相同。
CircleIndicator原先项目中之所以会出现选中与未选中的小球大小不一致,是因为CircleIndicator在项目中在位置变化 时候对小圆球进行动画缩放,修改res/animator下的scale_with_alpha.xml文件中关于缩放的设置,简单期间,缩放的值设置成1.0~1.0(即维持原大小不缩放)。
新的CircleIndicator库我已经修改好代码,运行结果如图中底部中间位置的三个不同颜色的小球:
我把心的库重新push到新的github主页,链接地址:https://github.com/zhangphil/CircleIndicator_Phil
使用时候直接作为库引入即可。
附录:
1,《ViewPager实现TabHost动态添加、删除Fragment,用红色小圆球指示当前页面》链接:http://blog.csdn.net/zhangphil/article/details/43668197
2,《ViewPager动态添加、删除Fragment,且提供红色小圆球指示当前位置》链接:http://blog.csdn.net/zhangphil/article/details/43671293
3,《ViewPager+Fragment实现Tabhost,动态添加删除Fragment,可供第三方使用的类库》链接:http://blog.csdn.net/zhangphil/article/details/43700807
4,《ViewPager+Fragment添加一行若干小红球滚动指示器指示当前ViewPager翻阅位置(可供第三方使用的类)》链接:http://blog.csdn.net/zhangphil/article/details/43732039
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Android 类库书签更新(一)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qingfeng812/article/details/52101407 类库归档 UI组件 TextView EditText 布局Layout 适配器 材料设计 工具 刷新控件 Toast blur PopupWindow 选择器 折叠菜单 菜单 侧滑菜单 ListView GridView ScrollView RecyclerView 对话框 搜索 表格 ImageView图片 SeekBar 布局 标签 拖拽 文件 树 WebView 网络请求 即时通信 NIO-PRC框架 按钮 ViewPager Toobar 二维码 下载 适配 架构 视频 异常 选项卡 蓝牙 动画 ORM 兼容库 音乐系列 功能特效 图表 权限控制 仪表盘 换肤 安全 面试 项目源码 压力测试 联系方式 类库归档 UI组件 TextView 文本框 ReadMoreTextView(点击展示更多效果) HtmlImage(html图片加载) android-autofittextview[自适应改变大小] ...
- 下一篇
【原创】新手入门一篇就够:从零开发移动端IM
一、前言 IM发展至今,已是非常重要的互联网应用形态之一,尤其移动互联网时代,它正以无与论比的优势降低了沟通成本和沟通代价,对各种应用形态产生了深远影响。 做为IM开发者或即将成为IM开发者的技术人员,IM的价值和重要性不言自明。但从技术实现来说,IM系统的开发(尤其是移动端IM)还是存在许多技术难点和坑点的。也正因如此,优质的IM开发相关的资料、实践性成果,对于没有太多技术储备的新手来说,尤其难以获得。 本文将以新手的视角引导你阅读相关文章,以便为从零开发一个移动端IM做好方方面面的知识准备:包括但不限于网络编程基础、通信协议的选型、IM的架构设计等等。文笔有限,如有不妥之处还请批评指正,希望对你有用。(本文同步发布于:http://www.52im.net/thread-464-1-1.html) 即时通讯开发交流群:215891622[推荐] 二、读完本文的收获 2.1 您将获得 本文将假设你是毫无技术准备的新手,引导你通过一篇篇精选的文章,了解如何开始从零开发一个移动端IM所需要的各种技术、资料和实践性代码。 2.2 您无法获得 鉴于IM技术的复杂性,IM开发相关的技术不是一篇...
相关文章
文章评论
共有0条评论来说两句吧...