底部導(dǎo)航欄BottomNavigationBar

github地址

添加依賴

implementation 'com.ashokvarma.android:bottom-navigation-bar:2.2.0'

使用

class BottomNavBar @JvmOverloads constructor(
    context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
) : BottomNavigationBar(context, attrs, defStyleAttr) {
    init {
        //第一個(gè)參數(shù) 選中的圖標(biāo)
        //第二個(gè)參數(shù) 文本
        val mHomeItem = BottomNavigationItem(R.drawable.main_tab1_select,"待辦")
        mHomeItem.apply {
            //選中文本顏色
            setActiveColorResource(R.color.col474)
            //未選中文本顏色
            setInActiveColorResource(R.color.col464)
            //未選中圖標(biāo)
            setInactiveIconResource(R.drawable.main_tab1_normal)
        }

        val mCheckItem = BottomNavigationItem(R.drawable.main_tab2_select,"檢查信息")
        mCheckItem.apply {
            setActiveColorResource(R.color.common_yellow)
            setInActiveColorResource(R.color.col464)
            setInactiveIconResource(R.drawable.main_tab2_normal)
        }

        val mMeItem = BottomNavigationItem(R.drawable.main_tab3_select,"我的")
        mMeItem.apply {
            setActiveColorResource(R.color.colfc4)
            setInActiveColorResource(R.color.col464)
            setInactiveIconResource(R.drawable.main_tab3_normal)
        }
        //設(shè)置導(dǎo)航欄模式(配合setBackgroundStyle實(shí)現(xiàn)不同效果)
        setMode(BottomNavigationBar.MODE_FIXED)
        //設(shè)置導(dǎo)航欄背景模式 (要放在addItem前)
        setBackgroundStyle(BottomNavigationBar.BACKGROUND_STYLE_RIPPLE)
        //背景色
        setBarBackgroundColor(R.color.common_white)
        //將item添加到布局中
        addItem(mHomeItem)
        addItem(mCheckItem)
        addItem(mMeItem)
        setFirstSelectedPosition(0)
        //一定要加上這個(gè)否則不會(huì)顯示
        initialise()
    }
}
//選中事件
 mBottomBar.setTabSelectedListener(object : BottomNavigationBar.OnTabSelectedListener{
            override fun onTabReselected(position: Int) {
                
            }

            override fun onTabUnselected(position: Int) {
            }

            override fun onTabSelected(position: Int) {
                updateFragment(position)
            }
        })

setMode

MODE_DEFAULT
如果Item的個(gè)數(shù)<=3就會(huì)使用MODE_FIXED模式,否則使用MODE_SHIFTING模式

MODE_FIXED (固定大写涣啤)
填充模式糠悼,未選中的Item會(huì)顯示文字,沒有換擋動(dòng)畫铝条。
寬度=總寬度/action個(gè)數(shù)
最大寬度: 168dp
最小寬度: 80dp
Padding:6dp(8dp)、10dp贤壁、12dp
字體大胁和:12sp、14sp

MODE_SHIFTING (不固定大忻)
換擋模式旨怠,未選中的Item不會(huì)顯示文字,選中的會(huì)顯示文字迷扇。在切換的時(shí)候會(huì)有一個(gè)像換擋的動(dòng)畫

setBackgroundStyle

BACKGROUND_STYLE_DEFAULT
如果設(shè)置的Mode為MODE_FIXED谋梭,將使用BACKGROUND_STYLE_STATIC 倦青。如果Mode為MODE_SHIFTING將使用BACKGROUND_STYLE_RIPPLE。

BACKGROUND_STYLE_STATIC
點(diǎn)擊的時(shí)候沒有水波紋效果
航條的背景色是白色隘庄,加上setBarBackgroundColor()可以設(shè)置成你所需要的任何背景顏色

BACKGROUND_STYLE_RIPPLE
點(diǎn)擊的時(shí)候有水波紋效果
導(dǎo)航條的背景色是你設(shè)置的處于選中狀態(tài)的 Item的顏色(ActiveColor)丑掺,也就是setActiveColorResource這個(gè)設(shè)置的顏色

mode+style

MODE_FIXED+BACKGROUND_STYLE_STATIC效果

fixed_static.gif

MODE_FIXED+BACKGROUND_STYLE_RIPPLE效果

fixed_ripple.gif

MODE_SHIFTING+BACKGROUND_STYLE_STATIC效果

shift_static.gif

MODE_FIXED+BACKGROUND_STYLE_RIPPLE效果

shift_ripple.gif

模式跟背景的設(shè)置都要在添加tab前面,不然不會(huì)有效果

標(biāo)記

BadgeItem numberBadgeItem = new BadgeItem()
                .setBorderWidth(4)
                .setBackgroundColorResource(R.color.blue)
                .setText("5")
                .setHideOnSelect(autoHide.isChecked());

     bottomNavigationBar
                .addItem(new BottomNavigationItem(R.drawable.ic_home_white_24dp, "Home").setActiveColorResource(R.color.orange).setBadgeItem(numberBadgeItem))
bradge.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末唆缴,一起剝皮案震驚了整個(gè)濱河市面徽,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌氮双,老刑警劉巖霎匈,帶你破解...
    沈念sama閱讀 221,635評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異造挽,居然都是意外死亡弄痹,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評論 3 399
  • 文/潘曉璐 我一進(jìn)店門谐丢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來乾忱,“玉大人历极,你說我怎么就攤上這事√诵叮” “怎么了?”我有些...
    開封第一講書人閱讀 168,083評論 0 360
  • 文/不壞的土叔 我叫張陵图云,是天一觀的道長竣况。 經(jīng)常有香客問我筒严,道長,這世上最難降的妖魔是什么鸭蛙? 我笑而不...
    開封第一講書人閱讀 59,640評論 1 296
  • 正文 為了忘掉前任规惰,我火速辦了婚禮歇万,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘贪磺。我一直安慰自己,他們只是感情好寒锚,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,640評論 6 397
  • 文/花漫 我一把揭開白布刹前。 她就那樣靜靜地躺著,像睡著了一般祖今。 火紅的嫁衣襯著肌膚如雪拣技。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,262評論 1 308
  • 那天徐绑,我揣著相機(jī)與錄音莫辨,去河邊找鬼。 笑死烫幕,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的较曼。 我是一名探鬼主播捷犹,決...
    沈念sama閱讀 40,833評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼萍歉,長吁一口氣:“原來是場噩夢啊……” “哼档桃!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,736評論 0 276
  • 序言:老撾萬榮一對情侶失蹤拒担,失蹤者是張志新(化名)和其女友劉穎从撼,沒想到半個(gè)月后钧栖,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,280評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡掏婶,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,369評論 3 340
  • 正文 我和宋清朗相戀三年气堕,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片茎芭。...
    茶點(diǎn)故事閱讀 40,503評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡誓沸,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出宿百,到底是詐尸還是另有隱情,我是刑警寧澤垦页,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站凭语,受9級特大地震影響薄啥,放射性物質(zhì)發(fā)生泄漏逛尚。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,870評論 3 333
  • 文/蒙蒙 一铣口、第九天 我趴在偏房一處隱蔽的房頂上張望蕾管。 院中可真熱鬧,春花似錦掰曾、人聲如沸停团。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽捆蜀。三九已至幔嫂,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間锰茉,已是汗流浹背切心。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評論 1 272
  • 我被黑心中介騙來泰國打工绽昏, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人全谤。 一個(gè)月前我還...
    沈念sama閱讀 48,909評論 3 376
  • 正文 我出身青樓啼县,卻偏偏與公主長得像,于是被迫代替她去往敵國和親季眷。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,512評論 2 359

推薦閱讀更多精彩內(nèi)容