方法一:隱藏

創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設、高性價比勐臘網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式勐臘網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設找我們,業(yè)務覆蓋勐臘地區(qū)。費用合理售后完善,十多年實體公司更值得信賴。
Android中布局內(nèi)容被底部系統(tǒng)導航欄遮擋
方法二:內(nèi)容上移
Android手機底部NavigationBar擋住界面的解決方法
在 Manifest.xml 文件中設置 Activity 的屬性
Android布局界面隱藏頂部導航欄
Android隱藏和顯示虛擬導航欄
Android 獲取手機存儲總大小,系統(tǒng)占用空間
Android 獲取屏幕寬度和高度的幾種方法
Android 獲取電池相關信息
Android電量計重要的類及函數(shù)介紹
安卓5.0后獲取所有運行的進程信息
Android獲取內(nèi)存(RAM)大小信息
android 幾種殺進程的方式
Android開發(fā)中 獲取App緩存大小以及清除緩存
Looper.getMainLooper()使用誤區(qū)
Android中通過資源文件獲取drawable的幾種方法
Fragment向Activity傳遞值
注意:
這是布局:
** android:clipChildren="false"**的意思是孩子的寬高不必受父親的約束,即可大過父布局,父親以及父親的父親都必須申明才可以,中間Imageview的android:layout_gravity="bottom"表示當高度超過父布局時,底部對齊,于是就達到上圖的效果。
在某些情況下,我們可能需要使底部tabbar的中間按鈕突出,即類似于如下的效果:
在android要實現(xiàn)該效果,十分簡單,只需要在按鈕的父布局將android:clipChildren屬性設置為false:
并設置按鈕的layout_gravity為bottom:
示例布局文件如下:
其中android:clipChildren屬性的作用為 是否限制子View不超過父布局,默認情況下是為true。當該屬性為true時,子View超出父布局的部分會被裁剪。 因此,將該屬性設置為false,父布局不再裁剪子View超出父布局的部分,就能實現(xiàn)突出按鈕的效果了。
咳咳,答應過年增加新功能的,沒想到拖到現(xiàn)在,延遲了一個來月,尷尬,尷尬
那個,我們先忽略這尷尬的事情吧,進入正題才是最重要滴
老規(guī)矩,先上效果圖:
跟原來的圖有個很明顯的區(qū)別,你們也一定都發(fā)現(xiàn)了,對不對。那么顯眼的小紅點,一定都看到了吧。
當然除了這個,還增加了一項功能,雖然不是很明顯,但相信也有小伙伴發(fā)現(xiàn)了吧,截圖的這倆手機屏幕明顯大小不同,但是底部導航欄的大小還是相差不大滴。
是的,你們沒有看多,這次不僅增加了小紅點功能,還增加了底部導航欄的適配,你沒有聽錯,以后底部導航欄也不用那些dp、sp了,都按照UI妹子們標注的px來就可以了,再也不用為了底部導航欄去跟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)在默認的,分割線高度都是設置的1個像素。這里以后也固定都用這個默認的高度了,不再對外提供修改的方法。
這就是新增加的適配了,多的也不說了,你們都懂的
標準尺寸,就是UI妹子給你提供的效果圖的屏幕尺寸,只要在init()方法里添加上標準尺寸,你就可以放肆的使用px了
這個方法就是控制小紅點顯示的方法了,index就是需要顯示或者隱藏小紅點的TabItem,isShow是一個boolean類型的參數(shù),他是控制小紅點是否顯示的,如果為true,就會顯示小紅點;如果為false,就會隱藏小紅點
1.2.2版本新增了兩個方法
介紹到這里,超簡單的底部導航欄,第二階段就可以告一段落了。以后還會持續(xù)優(yōu)化,完善的。
第三階段我打算封裝一下有中間凸起的底部導航欄,這個功能我本地已經(jīng)做了,但是封裝進去的時候,封裝的不理想,這次就沒有上線,留作下次了。
最后,再上個 GitHub 地址
一共兩種實現(xiàn)方式:
方式一:java代碼實現(xiàn)
@Override
public boolean onCreateOptionsMenu(Menu menu) {
/**
* 參數(shù)1:組的id
* 參數(shù)2:菜單的id
* 參數(shù)3:排列的順序
* 參數(shù)4:顯示菜單的文本
*/
menu.add(0, 0, 0, "你好");
menu.add(1, 1, 1, "不好");
return super.onCreateOptionsMenu(menu);
}
/**菜單的點擊事件*/
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()){
case 0:
Toast.makeText(this, "你選擇你好", Toast.LENGTH_LONG).show();
break;
case 1:
Toast.makeText(this, "你選擇不好", Toast.LENGTH_LONG).show();
break;
}
}
方式二:xml形式的菜單
步驟一:在res/menu目錄下新建xml文件
menu xmlns:android=""
xmlns:tools=""
tools:context="com.lifei.menu.MainActivity"
item
android:id="@+id/delete_menu_item"
android:orderInCategory="20"
android:title="@string/deletemunu"/
item
android:id="@+id/add_menu_item"
android:orderInCategory="19"
android:title="@string/addmunu"
menu
item
android:id="@+id/add_user_item"
android:orderInCategory="30"
android:title="@string/adduser"/
item
android:id="@+id/add_phone_item"
android:orderInCategory="31"
android:showAsAction="never"
android:title="@string/addhpone"/
/menu
/item
/menu
步驟二:在activity中
@Override
public boolean onCreateOptionsMenu(Menu menu) {
/**xml形式的menu菜單*/
getMenuInflater().inflate(R.menu.main, menu);
return super.onCreateOptionsMenu(menu);
}
點擊事件與方式一是一樣的
網(wǎng)頁題目:android底部,Android底部導航欄凹陷
地址分享:http://chinadenli.net/article36/dsgcdsg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供、網(wǎng)站建設、網(wǎng)站營銷、做網(wǎng)站、網(wǎng)站設計公司、動態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)