根據Material Design的指導,Snackbar要在BottomBar之後但要長出頭,但實際直接叫Snackbar他躲在BottomBar後面說,怎麼辦?
處理:
Google 「BottomNavigationView Snackbar」
找到幾種作法...
解法:
- 繼承改寫CoordinatorLayout.Behavior並在layout指給BottomBar的app:layout_behavior,詳細作法參考某日本Dev的GitHub或某馬其頓Dev的Blog。這個做法較能重複利用,用的地方也較簡潔。
- 另一個方法是,用SnackBar時,自己抓它的View改它的padding(內部間距)或margin(外部距離),寫個method或是如果有要繼承改寫BottomNavigationView或Snackbar的話,可順便把方法加入。可參考某中國Dev的Blog。
- 使用第三方BottomBar。
- 不要用Snackbar了,用Toast跟Dialog吧。
找資料時,也在StackOverflow看到網友反應的悲劇,4.4以下Snackbar遮BottomBar,5.0以上BottomBar遮Snackbar;
嘛....Google都是先設計UI規範,再實做元件 = =;
所以要Material Design各元件有簡單官方解,看來還有得等,官方解出來前,只能各自發揮創意或是先用有完整解的第三方元件了。
沒有留言:
張貼留言