咳咳,答應(yīng)過年增加新功能的,沒想到拖到現(xiàn)在,延遲了一個來月,尷尬,尷尬
霍邱網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)建站從2013年開始到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站。
那個,我們先忽略這尷尬的事情吧,進入正題才是最重要滴
老規(guī)矩,先上效果圖:
跟原來的圖有個很明顯的區(qū)別,你們也一定都發(fā)現(xiàn)了,對不對。那么顯眼的小紅點,一定都看到了吧。
當(dāng)然除了這個,還增加了一項功能,雖然不是很明顯,但相信也有小伙伴發(fā)現(xiàn)了吧,截圖的這倆手機屏幕明顯大小不同,但是底部導(dǎo)航欄的大小還是相差不大滴。
是的,你們沒有看多,這次不僅增加了小紅點功能,還增加了底部導(dǎo)航欄的適配,你沒有聽錯,以后底部導(dǎo)航欄也不用那些dp、sp了,都按照UI妹子們標(biāo)注的px來就可以了,再也不用為了底部導(dǎo)航欄去跟UI妹子解釋啥叫dp了。
好了,效果圖展示完了,現(xiàn)在該進入枯燥的使用介紹了。
由于這次改動有點大,所以,先介紹下上個穩(wěn)定版本的用法,到底是用最新的,還是用原來的,就看各位小伙伴的意愿了
上個穩(wěn)定版本是1.1.3的,引用方式如下
compile 'com.hjm:BottomTabBar:1.1.3'
具體用法如下(備注都加好了,我也就不多廢話了):
最新版本是1.2.2的,引用方式如下
compile 'com.hjm:BottomTabBar:1.2.2'
其實1.2.0與1.1.3區(qū)別并不大,只有4點改動:
現(xiàn)在默認(rèn)的,分割線高度都是設(shè)置的1個像素。這里以后也固定都用這個默認(rèn)的高度了,不再對外提供修改的方法。
這就是新增加的適配了,多的也不說了,你們都懂的
標(biāo)準(zhǔn)尺寸,就是UI妹子給你提供的效果圖的屏幕尺寸,只要在init()方法里添加上標(biāo)準(zhǔn)尺寸,你就可以放肆的使用px了
這個方法就是控制小紅點顯示的方法了,index就是需要顯示或者隱藏小紅點的TabItem,isShow是一個boolean類型的參數(shù),他是控制小紅點是否顯示的,如果為true,就會顯示小紅點;如果為false,就會隱藏小紅點
1.2.2版本新增了兩個方法
介紹到這里,超簡單的底部導(dǎo)航欄,第二階段就可以告一段落了。以后還會持續(xù)優(yōu)化,完善的。
第三階段我打算封裝一下有中間凸起的底部導(dǎo)航欄,這個功能我本地已經(jīng)做了,但是封裝進去的時候,封裝的不理想,這次就沒有上線,留作下次了。
最后,再上個 GitHub 地址
在某些情況下,我們可能需要使底部tabbar的中間按鈕突出,即類似于如下的效果:
在android要實現(xiàn)該效果,十分簡單,只需要在按鈕的父布局將android:clipChildren屬性設(shè)置為false:
并設(shè)置按鈕的layout_gravity為bottom:
示例布局文件如下:
其中android:clipChildren屬性的作用為 是否限制子View不超過父布局,默認(rèn)情況下是為true。當(dāng)該屬性為true時,子View超出父布局的部分會被裁剪。 因此,將該屬性設(shè)置為false,父布局不再裁剪子View超出父布局的部分,就能實現(xiàn)突出按鈕的效果了。
四個方面、
使用LinearLayout + TextView實現(xiàn)了底部導(dǎo)航欄的效果
首先看看工程目錄:
Step 1:實現(xiàn)底部選項的一些資源文件
圖片Drawable資源:tab_menu_deal.xml
?xml version="1.0" encoding="utf-8"?
selector xmlns:android=""
item android:drawable="@mipmap/ic_menu_deal_on" android:state_selected="true"/
item android:drawable="@mipmap/ic_menu_deal_off"/
/selector1234512345
不用做過多解釋了吧,點擊圖片,變換圖片。
其他三個依葫蘆畫瓢。
文字資源:tab_menu_deal_text.xml
?xml version="1.0" encoding="utf-8"?
selector xmlns:android=""
item android:color="@color/text_blue" android:state_selected="true"/
item android:color="@color/text_gray" /
/selector12345671234567
背景資源 tab_menu_bg.xml:
?xml version="1.0" encoding="utf-8"?
selector xmlns:android=""
item android:state_selected="true"
shape
solid android:color="#FFC4C4C4"/
/shape
/item
item
shape
solid android:color="@color/transparent" /
/shape
/item
/selector123456789101112131415123456789101112131415
Step 2:編寫我們的Activity布局
activity_main.xml:
?xml version="1.0" encoding="utf-8"?
RelativeLayout xmlns:android=""
xmlns:tools=""
android:layout_width="match_parent"
android:layout_height="match_parent"
RelativeLayout
android:id="@+id/tab_title"
android:layout_width="match_parent"
android:layout_height="48dp"
android:background="@color/transparent"
TextView
android:id="@+id/txt_top"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:textSize="18sp"
android:textColor="@color/text_gray"
android:text= "@string/infomation" /
View
android:layout_width="match_parent"
android:layout_height="2px"
android:background="@color/text_gray"
android:layout_alignParentBottom="true"/
/RelativeLayout
LinearLayout
android:id="@+id/tab_menu"
android:layout_width="match_parent"
android:layout_height="56dp"
android:orientation="horizontal"
android:layout_alignParentBottom="true"
TextView
android:id="@+id/txt_deal"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/tab_menu_bg"
android:drawablePadding="3dp"
android:drawableTop="@drawable/tab_menu_deal"
android:gravity="center"
android:textColor="@drawable/tab_menu_deal_text"
android:text="點餐"/
TextView
android:id="@+id/txt_poi"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/tab_menu_bg"
android:drawablePadding="3dp"
android:drawableTop="@drawable/tab_menu_poi"
android:gravity="center"
android:textColor="@drawable/tab_menu_poi_text"
android:text="商鋪"/
TextView
android:id="@+id/txt_user"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/tab_menu_bg"
android:drawablePadding="3dp"
android:drawableTop="@drawable/tab_menu_user"
android:gravity="center"
android:textColor="@drawable/tab_menu_user_text"
android:text="用戶"/
TextView
android:id="@+id/txt_more"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/tab_menu_bg"
android:drawablePadding="3dp"
android:drawableTop="@drawable/tab_menu_more"
android:gravity="center"
android:textColor="@drawable/tab_menu_more_text"
android:text="更多"/
/LinearLayout
View
android:id="@+id/div_tab_bar"
android:layout_width="match_parent"
android:layout_height="2px"
android:background="@color/text_gray"
android:layout_above="@id/tab_menu"/
FrameLayout
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/tab_title"
android:layout_above="@id/tab_menu"
android:background="@color/transparent"
/FrameLayout
/RelativeLayout
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102