簡體   English   中英

如何檢測iOS或Android設備在flutter設備底部是否有HomeBar

[英]How to detect if iOS or Android device has HomeBar at the bottom of device in flutter

帶有 HomeBar 的設備在頁面底部需要一些間距。 因此,我們需要檢查設備是否有主頁欄,以便我們可以相應地提供填充。

如何知道設備在 flutter 中是否有 HomeBar?

在此處輸入圖像描述

您可以使用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.bottomMediaQuery.of(context).viewInsets.bottom都會給你相同的結果,但使用viewInsets.bottom更准確,因為它考慮了可能存在的任何系統 UI 元素,例如鍵盤,而不僅僅是主頁欄。

SafeArea()

通過足夠的填充來插入其子項以避免操作系統入侵的小部件。

例如,這將使子項縮進足夠多以避免屏幕頂部的狀態欄。

它還會縮進孩子所需的數量,以避免 iPhone X 上的缺口或顯示器的其他類似創意物理特征。

指定最小填充時,將應用最小填充或安全區域填充中的較大者。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM