原文: http://www.darcye.com/article/25148800

Tab在Android导航中的使用非常频繁,很多应用中都能找到它的身影,笔者在观察的过程中发现,在大部分情况 下用到的无非就下面几种: [文字居中] 、[图片居中]、[图片在上|文字在下(共同居中)],附带红点或者文字提示。为了少重复造轮子,就在这个基础上做一个比较通用的Tab控件。

1:常见的Tab样式:

2:TabView设计图:

如上图所示,Tab 的内容(可能是文字,图片,或者两者皆有),始终会居中于外围的容器。提示点有两种,一种是不带文字的,一种是带文字的,带文字的在文字比较长的时候需要拉长成椭圆,点的位置可以通过距离右上角的上距(topMargin)和右距(rightMargin)来决定。点击时会可以发生变化的有Tab的背景,另一张Image, Text的字体颜色。RadioButton能很好维护状态之间的转换。

3:一个经典的示例:

如图:用ViewPager来维护Fragment的生命周期和切换,用RadioGroup来维护TabView[extends RadioButton]的状态,代码将变得非常简洁。

4:实现代码:

GitHub地址: https://github.com/YeDaxia/AndroidTabSwither


更多相关文章

  1. Android面试之Activity生命周期
  2. Android在ListView显示图片(重复错乱闪烁问题)
  3. AssetManager读取assets下多张图片资源输出到ImageView动画
  4. 《Android(安卓)Dev Guide》系列教程16:用户通知(3)创建状态栏通知
  5. Android开发技术周报 Issue#47
  6. Android之玩转View(一):Paint的基础api
  7. Android(安卓)性能优化典范(六)
  8. ANDROID中LISTVIEW仿QQ群组向上滚动特效
  9. Android(安卓)实现对图片 Exif 的修改(Android(安卓)自带的方法)

随机推荐

  1. 简单介绍安卓的五大布局
  2. Android在一个app中启动其他app中的servi
  3. 新版Cordova(>4.0)编译Android(安卓)APK
  4. 关于Android(安卓)webview 的cookie同步
  5. Android(安卓)自定义viewpager选中点
  6. Android(安卓)中一些小经验总结
  7. 【十三】注入框架RoboGuice使用:(Logging
  8. Volley二次封装,实现网络请求缓存
  9. android addJavascriptInterface 不能生
  10. Android不同分辨率的Drawable资源配置