Android使用BottomNavigationBar實現(xiàn)導(dǎo)航欄功能
基本屬性
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) //點擊的時候有水波紋效果,也就是導(dǎo)航條的背景色是你設(shè)置的處于選中狀態(tài)的 Item的顏色 addItem(new BottomNavigationItem(R.mipmap.ic_launcher_round, mTitles[0]) //添加一個BottomNavigationItem子項,設(shè)置圖標和文字 setInactiveIcon(ContextCompat.getDrawable(this, R.mipmap.ic_launcher)) //添加選中時的變更圖標 setFirstSelectedPosition(0) //默認選中下標為0的item setBadgeItem() //添加BadgeItem標記 initialise() //繪制,要放在設(shè)置最后
setTabSelectedListener監(jiān)聽器
bottomNavigationBar.setTabSelectedListener(new BottomNavigationBar.OnTabSelectedListener() { @Override public void onTabSelected(int position) { //獲得選中狀態(tài)時觸發(fā),可以做fragmengt頁面切換 Toast.makeText(MainActivity.this,"當前選中"+position,Toast.LENGTH_SHORT).show(); } @Override public void onTabUnselected(int position) { //當失去焦點不被選中的時候觸發(fā) Toast.makeText(MainActivity.this,position+"失去了焦點",Toast.LENGTH_SHORT).show(); } @Override public void onTabReselected(int position) { //觸發(fā)不了,我也母雞 } });
BadgeItem標記
1.五角星標記
mShapeBadgeItem = new ShapeBadgeItem() .setShapeColorResource(R.color.colorPrimary) //背景顏色 .setGravity(Gravity.TOP ) //位置 默認右上 .setAnimationDuration(200)//動畫時長 .setHideOnSelect(false)//true當選中狀態(tài)時消失,非選中狀態(tài)再次顯示 .show(); hide() //隱藏
2.文本標記
mTextBadgeItem = new TextBadgeItem() .setBorderWidth(4)//文本大小 .setGravity(Gravity.TOP )//位置 默認右上 .setBackgroundColorResource(R.color.colorAccent)//背景顏色 .setAnimationDuration(200)//動畫時間 .setText("3") .setHideOnSelect(false)//true當選中狀態(tài)時消失,非選中狀態(tài)再次顯示 .show();
官方all.gif
總結(jié)
以上所述是小編給大家介紹的Android BottomNavigationBar導(dǎo)航欄功能的實現(xiàn)代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
Android中g(shù)son、jsonobject解析JSON的方法詳解
JSON即JavaScript Object Natation, 它是一種輕量級的數(shù)據(jù)交換格式, 與XML一樣, 是廣泛被采用的客戶端和服務(wù)端交互的解決方案.接下來由腳本之家小編給大家介紹Android中g(shù)son、jsonobject解析JSON的方法,感興趣的朋友一起學(xué)習(xí)吧2016-02-02舉例講解Android應(yīng)用中SimpleAdapter簡單適配器的使用
這篇文章主要介紹了Android應(yīng)用中SimpleAdapter簡單適配器的使用例子,SimpleAdapter經(jīng)常在ListView被使用,需要的朋友可以參考下2016-04-04Android中GridView布局實現(xiàn)整體居中方法示例
最近在工作中遇到了GridView布局的相關(guān)問題,通過查找相關(guān)資料終于解決了,所以下面這篇文章主要給大家介紹了關(guān)于Android中GridView布局實現(xiàn)整體居中的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒。2017-09-09DrawerLayout結(jié)合Tollbar實現(xiàn)菜單側(cè)滑效果
這篇文章主要為大家詳細介紹了DrawerLayout結(jié)合Tollbar實現(xiàn)菜單側(cè)滑效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-12-12Android中利用SurfaceView制作抽獎轉(zhuǎn)盤的全流程攻略
這篇文章主要介紹了Android中利用SurfaceView制作抽獎轉(zhuǎn)盤的全流程,從圖案的繪制到轉(zhuǎn)盤的控制再到布局,真的非常全面,需要的朋友可以參考下2016-04-04解決ViewPager和SlidingPaneLayout的滑動事件沖突問題
下面小編就為大家分享一篇解決ViewPager和SlidingPaneLayout的滑動事件沖突問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01