Flutter 樣式基礎之 MediaQueryData

介紹

MediaQueryData 它是MediaQuery的主要信息載體,是用於存儲MediaQuery的各項數據的實體類。若是傳入的context沒有MediaQuery信息,則調用MediaQuery.of方法將會拋出異常。除非nullOk參數設置爲true,在這種狀況下它返回null。git

構造函數

MediaQueryData({Size size: Size.zero,
 double devicePixelRatio: 1.0, 
 double textScaleFactor: 1.0,
 Brightness platformBrightness: Brightness.light,
 EdgeInsets padding: EdgeInsets.zero, 
 EdgeInsets viewInsets: EdgeInsets.zero,
 EdgeInsets viewPadding: EdgeInsets.zero,
 bool alwaysUse24HourFormat: false, 
 bool accessibleNavigation: false, 
 bool invertColors: false, 
 bool disableAnimations: false,
 bool boldText: false }) 
 
 MediaQueryData.fromWindow(Window window) //基於給定窗口爲MediaQuery建立數據.
複製代碼

屬性

  • accessibleNavigation → bool 用戶是否使用TalkBack或VoiceOver等輔助功能服務與應用程序進行交互。
  • alwaysUse24HourFormat → bool 格式化時間時是否使用24小時格式。
  • boldText → bool 是否使用了粗體字體繪製文本。
  • devicePixelRatio → double 單位邏輯像素的設備像素數量,即設備像素比。這個數字可能不是2的冪,實際上它甚至也可能不是整數。例如,Nexus 6的設備像素比爲3.5。
  • disableAnimations → bool 平臺是否要求儘量禁用或減小使用動畫。
  • hashCode → int 此對象的哈希碼
  • invertColors → bool 設備是否反轉平臺的顏色
  • orientation → Orientation 屏幕方向(橫向/縱向)
  • padding → EdgeInsets 顯示器的部分被系統UI部分遮擋,一般由硬件顯示「凹槽」或系統狀態欄
  • platformBrightness → Brightness 當前的亮度模式
  • size → Size 設備尺寸信息,如屏幕的大小,單位 pixels
  • textScaleFactor → double 每一個邏輯像素的字體像素數
  • viewInsets → EdgeInsets 顯示器的各個部分徹底被系統UI遮擋,一般是設備的鍵盤
  • viewPadding → EdgeInsets 顯示器的部分被系統UI部分遮擋,一般由硬件顯示「凹槽」或系統狀態欄

Insets and Padding

方法

copyWith

copyWith({ Size size, double devicePixelRatio, double textScaleFactor, Brightness platformBrightness, EdgeInsets padding, EdgeInsets viewPadding, EdgeInsets viewInsets, bool alwaysUse24HourFormat, bool disableAnimations, bool invertColors, bool accessibleNavigation, bool boldText }) → MediaQueryData 拷貝此 MediaQueryData對象,建立一個副本,但將新字段替換爲傳入的給定字段。github

removePadding

removePadding({ bool removeLeft:false, bool removeTop:false, bool removeRight:false, bool removeBottom:false }) → MediaQueryData 建立此 MediaQueryData 的副本,但將給定的填充替換爲零。bash

removeViewInsets

removeViewInsets({ bool removeLeft:false, bool removeTop:false, bool removeRight:false, bool removeBottom:false }) → MediaQueryData 建立此 MediaQueryData 的副本,但將給定的viewInsets 替換爲零。函數

removeViewPadding(新版本源碼已找不到該方法)

做者


xiaosongzeem
相關文章
相關標籤/搜索