基本属性

setActiveColor //选中item的字体颜色

setInActiveColor //未选中Item中的颜色

setBarBackgroundColor//背景颜色

setMode(BottomNavigationBar.MODE_FIXED) //填充模式,未选中的Item会显示文字,没有换挡动画

setMode(BottomNavigationBar.MODE_SHIFTING) //换挡模式,未选中的Item不会显示文字,选中的会显示文字

setBackgroundStyle(BottomNavigationBar.BACKGROUND_STYLE_STATIC) //点击的时候没有水波纹效果

setBackgroundStyle(BottomNavigationBar.BACKGROUND_STYLE_RIPPLE) //点击的时候有水波纹效果,也就是导航条的背景色是你设置的处于选中状态的 Item的颜色

addItem(new BottomNavigationItem(R.mipmap.ic_launcher_round, mTitles[0]) //添加一个BottomNavigationItem子项,设置图标和文字

setInactiveIcon(ContextCompat.getDrawable(this, R.mipmap.ic_launcher)) //添加选中时的变更图标

setFirstSelectedPosition(0) //默认选中下标为0的item

setBadgeItem() //添加BadgeItem标记

initialise() //绘制,要放在设置最后

setTabSelectedListener监听器

bottomNavigationBar.setTabSelectedListener(new BottomNavigationBar.OnTabSelectedListener() {
@Override
public void onTabSelected(int position) {
//获得选中状态时触发,可以做fragmengt页面切换
Toast.makeText(MainActivity.this,"当前选中"+position,Toast.LENGTH_SHORT).show();
    
} @Override
public void onTabUnselected(int position) {
//当失去焦点不被选中的时候触发
Toast.makeText(MainActivity.this,position+"失去了焦点",Toast.LENGTH_SHORT).show();
} @Override
public void onTabReselected(int position) {
//触发不了,我也母鸡
}
});

BadgeItem标记

1.五角星标记

mShapeBadgeItem = new ShapeBadgeItem()
.setShapeColorResource(R.color.colorPrimary) //背景颜色
.setGravity(Gravity.TOP ) //位置 默认右上
.setAnimationDuration(200)//动画时长
.setHideOnSelect(false)//true当选中状态时消失,非选中状态再次显示
.show(); hide() //隐藏

2.文本标记

mTextBadgeItem = new TextBadgeItem()
.setBorderWidth(4)//文本大小
.setGravity(Gravity.TOP )//位置 默认右上
.setBackgroundColorResource(R.color.colorAccent)//背景颜色
.setAnimationDuration(200)//动画时间
.setText("3")
.setHideOnSelect(false)//true当选中状态时消失,非选中状态再次显示
.show();

官方all.gif

view源码下载地址

Android BottomNavigationBar导航栏的更多相关文章

  1. Android底部导航栏——FrameLayout + RadioGroup

    原创文章,转载请注明出处http://www.cnblogs.com/baipengzhan/p/6285881.html Android底部导航栏有多种实现方式,本文详细介绍FrameLayout ...

  2. Android底部导航栏创建——ViewPager + RadioGroup

    原创文章,引用请注明出处:http://www.cnblogs.com/baipengzhan/p/6270201.html Android底部导航栏有多种实现方式,本文详解其中的ViewPager ...

  3. Android底部导航栏

    Android底部导航栏 今天简单写了一个底部导航栏,封装了一个库,用法比较简单 效果图 Github地址:https://github.com/kongqw/KqwBottomNavigation ...

  4. android通讯录导航栏源码(一)

    通讯录导航栏源码: 1.activity package com.anna.contact.activity; import java.util.ArrayList; import java.util ...

  5. Android底部导航栏(可滑动)----TabLayout+viewPager

    [TabLayout] ①TabLayout是选项卡,在屏幕空间有限的情况下,对不同的空间进行分组.属于android support design,更多的用于新闻上,如果放在底部也可做底部导航栏 ② ...

  6. Android 底部导航栏实现一 Fragment-replace

    [效果](这里下载的软件收费的试用有水印) [推荐]这里推荐一个图标网http://iconfont.cn/.以上图标来自此图标网 [项目结构] [步骤] ①创建布局文件,写底部导航栏 <?xm ...

  7. Android官方导航栏ActionBar(二)—— Action View、Action Provider、Navigation Tabs的详细用法

    在上一篇文章(Android之官方导航栏ActionBar)中,我们介绍了ActionBar各组成部分的基本应用.ActionBar除了提供Action Buttons外,还提供了多种导航方式如 Ac ...

  8. 【Android】导航栏(加图片icon)和不同页面的实现(viewpager+tablayout)

    先上图,然后说大致步骤,最后再说细节 图片效果:依序点击导航栏左一.左二.中.右二.右一,最后直接滑动页面(不依靠导航栏切换) 大致步骤如下(文末会有完整代码) [1]创建一个类,我这里取名TabBa ...

  9. android底部导航栏实现

    第一种用radiobutton实现 https://wizardforcel.gitbooks.io/w3school-android/content/75.html 布局文件,使用radiogrou ...

随机推荐

  1. 使用RSA加密在Python中逆向shell

    i春秋翻译小组-Neo(李皓伟) 使用RSA加密在Python中逆向shell 这是一个关于使用RSA加密编程逆向shell的python教程. 我想提一下,这篇文章更多的是关于理解shell中涉及的 ...

  2. Java构造方法、成员变量初始化以及静态成员变量初始化三者的先后顺序是什么样的?

    [Java笔试真题]:构造方法.成员变量初始化以及静态成员变量初始化三者的先后顺序是什么样的? [解答]:当类第一次被加载的时候,静态变量会首先初始化,接着编译器会把实例变量初始化为默认值,然后执行构 ...

  3. [Swift]LeetCode28. 实现strStr() | Implement strStr()

    Implement strStr(). Return the index of the first occurrence of needle in haystack, or -1 if needle ...

  4. [SQL]LeetCode262.行程和用户 | Trips and Users

    SQL架构 Create table If Not Exists Trips (Id )) Create table If Not Exists Users (Users_Id ), Role ENU ...

  5. [Swift]LeetCode381. O(1) 时间插入、删除和获取随机元素 - 允许重复 | Insert Delete GetRandom O(1) - Duplicates allowed

    Design a data structure that supports all following operations in averageO(1) time. Note: Duplicate ...

  6. Python内置函数(54)——reversed

    英文文档: reversed(seq) Return a reverse iterator. seq must be an object which has a __reversed__() meth ...

  7. 『数组的最大代价 贪心优化DP』

    数组的最大代价(51nod 1270) Description 数组A包含N个元素A1, A2......AN.数组B包含N个元素B1, B2......BN.并且数组A中的每一个元素Ai,都满足1 ...

  8. Elasticsearch 分词器

    无论是内置的分析器(analyzer),还是自定义的分析器(analyzer),都由三种构件块组成的:character filters , tokenizers , token filters. 内 ...

  9. 关于ML.NET v0.5的发布说明

    适逢.NET Conf 2018举办,ML.NET v0.5也正式宣布发布了.作为面向.NET开发人员的跨平台开源机器学习框架,新的预览版本在不断演变,每次发布除了有新的功能添加,API也会进行调整, ...

  10. C#版 - Leetcode 201. 数字范围按位与(bitwise AND) - 题解

    C#版 - Leetcode 201. 数字范围按位与(bitwise AND) - 题解 在线提交: https://leetcode.com/problems/bitwise-and-of-num ...