標籤:監聽 var 導航條 sel length item tabs abr 背景
基本屬性
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的itemsetBadgeItem() //添加BadgeItem標記initialise() //繪製,要放在設定最後
setTabSelectedListener監聽器
bottomNavigationBar.setTabSelectedListener(new BottomNavigationBar.OnTabSelectedListener() { @Override public void onTabSelected(int position) { //獲得選中狀態時觸發 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導覽列