首先回顧下這個導航欄,發現已經滿足不了我們的需求了,我們現在來使用一下其他的開源組件。
1.現在風評較好的BottomNavigation
giehub地址:點擊打開鏈接
這個東西使用起來也十分的簡單
首先在module級gradle中添加依賴。
compile 'com.ashokvarma.android:bottom-navigation-bar:2.0.4'
接着正常加入佈局文件
<com.ashokvarma.bottomnavigation.BottomNavigationBar
android:layout_gravity="bottom"
android:id="@+id/navigation_bar_main"
android:layout_width="match_parent"
android:layout_height="50dp"/>
接着就是主界面中的設置了,我的風格就是能解釋的儘量寫在代碼註釋裏,反正是學習過程,也沒有什麼代碼檢視了,Low就Low吧。
BottomNavigationBar navigation_bar_main;//注意實例化
private void setNaviBar() {
/* 1.設置按鈕模式 setMode()
MODE_DEFAULT 自動模式
if(item>=3)MODE_FIXED模式elseMODE_SHIFTING模式
MODE_FIXED 固定模式
未選中的Item()會顯示文字,沒有切換動畫。
ODE_SHIFTING 切換模式
就是未選中的Item不會顯示文字,選中的會顯示文字。又切換動畫*/
navigation_bar_main.setMode(BottomNavigationBar.MODE_SHIFTING);
/* 設置背景風格 setBackgroundStyle()
BACKGROUND_STYLE_STATIC 靜態的
BACKGROUND_STYLE_RIPPLE 動態水波紋效果*/
navigation_bar_main.setBackgroundStyle(BottomNavigationBar.BACKGROUND_STYLE_RIPPLE);
/*添加並設置圖標、圖標的顏色和文字
setInActiveColor() 設置Item未選中顏色
setActiveColor() 設置Item選中顏色
setActiveColor()
前面設置BACKGROUND_STYLE_STATIC下,表示選中Item的圖標和文本顏色。
BACKGROUND_STYLE_RIPPLE下,表示整個容器的背景色。
setBarBackgroundColor():
前面設置BACKGROUND_STYLE_STATIC,表示整個容器的背景色。
BACKGROUND_STYLE_RIPPLE下,表示選中Item的圖標和文本顏色。*/
navigation_bar_main
//構造函數裏面爲選中的圖片setInactiveIcon非選中的圖片
.addItem(new BottomNavigationItem(R.drawable.ic_home_black_24dp, "Home").setActiveColorResource(R.color.blue)).setInActiveColor(R.color.white)
.addItem(new BottomNavigationItem(R.drawable.ic_dashboard_black_24dp, "Books").setActiveColorResource(R.color.orange))
.initialise();
//據說設置true爲向下滑動隱藏,但是目前我的設置沒有反應
navigation_bar_main.setAutoHideEnabled(true);
//設置選中第一個添加的按鈕
navigation_bar_main.selectTab(0, false);
}
值得商榷的一點是navigation_bar_main.setAutoHideEnabled(true);這個方法不知道有毒還是怎麼的,這個方法是這隻向下滑動隱藏,但是我設置了完全沒有反應。大家幫忙看下怎麼回事。
其他人的博客是這麼說的點擊打開鏈接
bottomNavigationBar.hide();//隱藏
bottomNavigationBar.hide(true);//隱藏是否啓動動畫,這裏並不能自定義動畫
bottomNavigationBar.unHide();//顯示
bottomNavigationBar.hide(true);//隱藏是否啓動動畫,這裏並不能自定義動畫
2.未完待續,繼續收集中。