接下来的博客计划是,在《Android官方技术文档翻译》之间会发一些Android开源项目的介绍,直接剩下的几篇Android技术文档发完,然后就是Android开源项目和Gradle翻译了。当然,其他的文章笔记也会偶尔发一下。

本文原创,转载请注明在CSDN上的出处:

http://blog.csdn.net/maosidiaoxian/article/details/42638245

简介

本篇文章介绍的是一个底部导航栏,叫IconTabPageIndicator,一个带图标文字的导航栏。项目地址:https://github.com/msdx/IconTabPageIndicator

实际上,这个项目才三个类,而且也只完成了这一种导航栏。该项目参考了JakeWharton大神两年前的项目ViewPagerIndicator的实现,基于其中的一种导航做了修改,而实现这种图标文字的导航栏,且可以设定图标或文字的大小,不用担心过大的图标把文字顶出去或把导航给撑肥。

为什么我会知道得这么清楚呢?因为这个就是我写的,哈哈。

使用方法

Eclipse用户就自己去下载项目,然后把资源和代码拷进项目吧。
Android Studio的就很简单了,只要在你根项目的build.gradle中添加jcenter声明(已添加的而不必再添加):
    repositories {
        jcenter()
    }

接着在app模块的build.gradle中添加依赖:

    compile 'com.githang:iconpagerindicator:1.2'

然后就可以开始使用了。

使用方法和JakeWharton大神的ViewPagerIndicator完全一样,如果不明白,可以参考项目里面的app模块的代码,那里就是一个完整的demo。
这里说一下如何自定义图标的大小。

自定义图标大小

由于Android手机有着各种分辨率的屏幕大小,一般我们都不是用设计师给的图片大小就直接显示,都会对显示的图片宽高设置一个dp的值。所以在这里我也定义了两个属性,用来设置这个图标的宽和高。具体使用方法是,先在你的style.xml的app主题中指定一个“tabView”的style,然后再在这个style中指定两个属性的值,一个是“iconWidth”,一个是“iconHeight”的值。代码如下:
   <style name="AppTheme" parent="Theme.AppCompat.Light">
        <item name="tabView">@style/MyTabView</item>
    </style>

    <style name="MyTabView" parent="TabView">
        <item name="iconWidth">28dp</item>
        <item name="iconHeight">28dp</item>
    </style>

看一下效果图:




Android开源项目——带图标文字的底部导航栏IconTabPageIndicator的更多相关文章

  1. AndroidStudio制作底部导航栏以及用Fragment实现切换功能

    前言 大家好,给大家带来AndroidStudio制作底部导航栏以及用Fragment实现切换功能的概述,希望你们喜欢 学习目标 AndroidStudio制作底部导航栏以及用Fragment实现切换 ...

  2. Android开源项目分类汇总

    目前包括: Android开源项目第一篇——个性化控件(View)篇   包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView. ...

  3. 59.Android开源项目及库 (转)

    转载 : https://github.com/Tim9Liu9/TimLiu-Android?hmsr=toutiao.io&utm_medium=toutiao.io&utm_so ...

  4. GitHub上史上最全的Android开源项目分类汇总 (转)

    GitHub上史上最全的Android开源项目分类汇总 标签: github android 开源 | 发表时间:2014-11-23 23:00 | 作者:u013149325 分享到: 出处:ht ...

  5. GitHub 优秀的 Android 开源项目(转)

    今天查找资源时看到的一篇文章,总结了很多实用资源,十分感谢原作者分享. 转自:http://blog.csdn.net/shulianghan/article/details/18046021 主要介 ...

  6. GitHub上史上最全的Android开源项目分类汇总

    今天在看博客的时候,无意中发现了 @Trinea 在GitHub上的一个项目 Android开源项目分类汇总 ,由于类容太多了,我没有一个个完整地看完,但是里面介绍的开源项目都非常有参考价值,包括很炫 ...

  7. GitHub 优秀的 Android 开源项目

    转自:http://blog.csdn.net/shulianghan/article/details/18046021 主要介绍那些不错个性化的View,包括ListView.ActionBar.M ...

  8. 那些年不错的Android开源项目

    那些年不错的Android开源项目 转载自 eoe 那些年不错的Android开源项目-个性化控件篇 第一部分 个性化控件(View) 主要介绍那些不错个性化的View,包括ListView.Acti ...

  9. github上有android开源项目

    下面是一些比较好的开源项目,总共分为5大类,也许对某一些人有用,有些项目也许将来某一天对自己也有用,所以整理到此,希望对大家有帮助.首先声明非原创,这篇blog的目的是分享给那些可能需要的人. htt ...

随机推荐

  1. Android中GridView的一些特殊属性

    GridView的一些特殊属性: 1.android:numColumns="auto_fit"   //GridView的列数设置为自动 2.android:columnWidt ...

  2. Linux & Windows 计时函数

    直接上代码: #if defined(_WIN32) && defined(_MSC_VER) #include <windows.h> double abtic() { ...

  3. 好用的有多种样式的搜索界面创建UISearchBar

    之前看到一个别人封装的第三方PYSearch,相当于一个完整的搜索界面,今天在这里进行代码说明一下. 将PYSearch拖进项目或者使用Pods进行加库,我是直接拖进项目中进行使用 PYSearch库 ...

  4. Android使用HttpClient请求服务器代码优化版

    首先,我在前面的两篇博文中介绍了在Android中,除了使用java.net包下HttpUrlConnection的API访问HTTP服务之外,我们还可以换一种途径去完成工作.Android SDK附 ...

  5. JAVA面向对象-----面向对象(基础预备知识汇总)

    终于整理好了面向对象基础预备知识,但是有点多,所以你们懂的,贴图,较长的代码我还是会排版出来的,我不想把时间浪费在排版上在word里排版一次已经很浪费时间了,所以请谅解. public class C ...

  6. Android开源框架ViewPagerIndicator的基本使用

    转载本博客请注明出处:点击打开链接    http://blog.csdn.net/qq_32059827/article/details/52495647 很多新闻资讯类的app都有一些共性,那就是 ...

  7. Spark技术内幕之任务调度:从SparkContext开始

    SparkContext是开发Spark应用的入口,它负责和整个集群的交互,包括创建RDD,accumulators and broadcast variables.理解Spark的架构,需要从这个入 ...

  8. Android简易实战教程--第十话《模仿腾讯手机助手小火箭发射详解》

    之前对系统自带的土司的源码做了简要分析,见博客:点击打开链接 这一篇给一个小案例,自定义土司,模拟腾讯卫士的小火箭发射.如果想要迅速看懂代码,建议先去看一下上篇介绍点击打开链接 首先,定义一个服务,在 ...

  9. 初探linux子系统集之timer子系统(一)

    一般来说要让整个linux系统跑起来,那么一个必须的就是linux的时钟,也就是时间子系统了,这里正好工作需要,那么就研究下linux下的时间子系统了. linux内核必须完成两种主要的定时测量.一个 ...

  10. javaRMI详解

    前几天在阿里内推一面的时候,面试官问到了一个关于java中RMI(Remote Method Invocation)的问题,当时感觉自己回答的还比较好,他比较满意,但那是因为他问的比较浅,所以自己看了 ...