Android 14 啟用非線性字型縮放
概述
#Android 14 引入了高達 200% 的非線性字型縮放。當用戶在系統偏好設定中更改輔助功能文字縮放時,這可能會改變您的應用的外觀。
背景
#正如 Android 14 非線性字型縮放 功能所建議的那樣,該功能透過在使用者在系統偏好設定中增加文字縮放值時,以較慢的速率縮放較大的文字,從而防止過度的輔助功能字型縮放。
遷移指南
#正如 Android 14 功能概覽 所建議的那樣,請在啟用最大字型大小(200%)的情況下測試您的 UI。這應該可以驗證您的應用是否能夠正確應用字型大小,並能夠容納更大的字型大小而不會影響可用性。
要在您的應用和自定義小部件中採用非線性字型縮放,請考慮從 textScaleFactor 遷移到 TextScaler。要了解如何遷移到 TextScaler,請參閱 棄用 textScaleFactor 而採用 TextScaler 遷移指南。
暫時選擇退出
要在遷移應用之前在 Android 14 上選擇退出非線性文字縮放,請在應用的小部件樹的頂部新增一個修改後的 MediaQuery。
dart
runApp(
Builder(builder: (context) {
final mediaQueryData = MediaQuery.of(context);
final mediaQueryDataWithLinearTextScaling = mediaQueryData
.copyWith(textScaler: TextScaler.linear(mediaQueryData.textScaler.textScaleFactor));
return MediaQuery(data: mediaQueryDataWithLinearTextScaling, child: realWidgetTree);
}),
);這會使用已棄用的 textScaleFactor API。一旦該 API 從 Flutter API 中移除,它將停止工作。
時間線
#已釋出版本:3.14.0-11.0.pre
穩定版本:3.16
參考資料
#API 文件
相關問題
相關 PR
另請參閱