Flutter-獲取屏幕高度、密度、安全區(qū)域等

獲取屏幕相關(guān)

  MediaQueryData mq = MediaQuery.of(context);
  // 屏幕密度
  pixelRatio = mq.devicePixelRatio;
  // 屏幕寬(注意是dp, 轉(zhuǎn)換px 需要 screenWidth * pixelRatio)
  screenWidth = mq.size.width;
  // 屏幕高(注意是dp)
  screenHeight = mq.size.height;
  // 頂部狀態(tài)欄, 隨著劉海屏?xí)龈?  statusBarHeight = mq padding.top;
  // 底部功能欄, 類似于iPhone XR 底部安全區(qū)域
  bottomBarHeight = mq.padding.bottom;

AppBar BottomNavigationBar

/// material 系統(tǒng)保存的常量值里面查看
export 'src/material/constants.dart’;

/// AppBar 高度
const double kToolbarHeight = 56.0;

/// BottomNavigationBar 高度
const double kBottomNavigationBarHeight = 56.0;

計(jì)算的Widget可放置的安全高度 (dp)

  /// 安全內(nèi)容高度(包含 AppBar 和 BottomNavigationBar 高度)
  double get safeContentHeight => screenHeight - statusBarHeight - bottomBarHeight;
  /// 實(shí)際的安全高度
  double get safeHeight => safeContentHeight - kToolbarHeight - kBottomNavigationBarHeight;
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容