啟用 Android 14 非線性字型縮放
Android 14 的全新非線性字型縮放功能已於 Flutter v3.14 之後啟用。
摘要
#Android 14 引入了最高可達 200% 的非線性字型縮放功能。 當使用者在系統偏好設定中調整無障礙文字縮放時,這可能會改變您的應用程式外觀。
背景
#Android 14 非線性字型縮放功能可防止無障礙字型縮放過度,當使用者在系統偏好設定中提高文字縮放值時,較大的文字會以較低的比例縮放。
遷移指南
#
如同
Android 14 功能概覽所建議,
請在啟用最大字型大小(200%)的情況下測試您的 UI。
這可以驗證您的應用程式是否能正確套用字型大小,並能在不影響可用性的前提下容納較大的字型。
若要在您的應用程式與自訂元件(Widgets)中採用非線性字型縮放,請考慮從 textScaleFactor 遷移至 TextScaler。
如需瞭解如何遷移至 TextScaler,
請參考
Deprecate textScaleFactor in favor of TextScaler
遷移指南。
暫時選擇退出
若您希望在完成遷移前暫時於 Android 14 上停用非線性文字縮放,
請在應用程式的元件樹(widget tree)頂部加入修改後的 MediaQuery:
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:
另請參閱:
Unless stated otherwise, the documentation on this site reflects Flutter 3.44.0. Page last updated on 2026-06-14. View source or report an issue.