[英]How to detect if iOS or Android device has HomeBar at the bottom of device in flutter
您可以使用SafeArea
小部件輕松包裹您的內容並避免底部插入。
要實際獲取大小,您可以使用MediaQuery.of(context).viewInsets
並檢查其底部插圖。 (你不需要這樣做,如果你只是想添加填充。像我上面提到的那樣使用SafeArea
。)
您可以使用MediaQuery.of(context).padding.bottom
並在非零值時執行特定操作。 例如
if (MediaQuery.of(context).padding.bottom > 0) {
// homebar is present
} else {
// homebar is not present
}
或者您可以使用MediaQuery.of(context).viewInsets.bottom
。 MediaQuery.of(context).padding.bottom
和MediaQuery.of(context).viewInsets.bottom
都會給你相同的結果,但使用viewInsets.bottom
更准確,因為它考慮了可能存在的任何系統 UI 元素,例如鍵盤,而不僅僅是主頁欄。
SafeArea()
通過足夠的填充來插入其子項以避免操作系統入侵的小部件。
例如,這將使子項縮進足夠多以避免屏幕頂部的狀態欄。
它還會縮進孩子所需的數量,以避免 iPhone X 上的缺口或顯示器的其他類似創意物理特征。
指定最小填充時,將應用最小填充或安全區域填充中的較大者。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.