跳至主要內容

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

另請參閱