? ? ? ? 今天拿以前的項目練習(xí)上手flutter,剛開始就遇到一個問題,應(yīng)用底部導(dǎo)航欄要實現(xiàn)一個這樣的效果:
????????但是使用flutter自己的BottomNavigationBar組件發(fā)現(xiàn)很難達到預(yù)期效果乏苦,因為BottomNavigationBar的高度不是固定的,會隨著BottomNavigationBarItem中最大的高度而改變毅臊。所以需要用到flutter里的另一個組件FloatingActionButton邑退,懸停按鈕組件,將FloatingActionButton添加上之后效果是這樣的:
跟我們需要的效果相差甚遠熬苍,這個時候去設(shè)置floatingActionButtonLocation屬性稍走,設(shè)置為FloatingActionButtonLocation.centerDocked,這個屬性是設(shè)置懸停按鈕的位置,centerDocked是浮動在底部控件之上柴底,再次運行钱磅,效果如下:
基本上沒有問題,但是跟我想要的布局效果依然不太一樣似枕,而且這個懸停按鈕卡在中間看起來也很突兀盖淡,想讓按鈕往下再移動一點,但是location屬性是特定的類凿歼,所以不可能直接在界面代碼上加減距離褪迟,但是我們完全可以去到這個屬性所在的文件,重寫一個屬性答憔,來供我們使用味赃,改動如下:
改完之后我們再回到我們設(shè)置location的地方,將centerDocked屬性改為我們新增加的屬性:
再來運行一下虐拓,效果如下:
跟我想要的效果一樣心俗。
因為選定按鈕是要插到底部導(dǎo)航欄的,所以我們設(shè)置底部導(dǎo)航欄的時候要給懸停按鈕留出空位來,title和icon的顏色設(shè)置為透明即可城榛。