我知道我不應該禁用設備上設定的任何文本和粗體設定,但我有理由這樣做。我通過在全域級別將 textScaleFactor 設定為 1 來禁用文本大小。但這并不能避免用戶設定也會更改文本大小的粗體文本選項。我如何覆寫該功能,即使用戶在設備上設定它也不會對應用程式產生影響?我曾嘗試使用 TextStyle 在文本項上設定 fontweitgh ,但這也不會停止加粗。
uj5u.com熱心網友回復:
檢查Text小部件后,我發現它正在使用boldTextOverridefromMediaQuery來更改提供給它的默認文本樣式的字體粗細。所以,我想你可以通過你的包裹覆寫它MeterialApp的內部MediaQuery和分配假到boldText并設定useInheritedMediaQuery上MaterialApp,以false防止它創建另一個MediaQuery。像這樣的東西:
return MediaQuery(
data: MediaQueryData.fromWindow(WidgetsBinding.instance!.window).copyWith(boldText: false),
child: MaterialApp(
useInheritedMediaQuery: false,
),
);
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/362912.html
