일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Flutter #Stream #dart
- 희망적금연계
- 도약연계
- 플러터 #안드로이드 #플레이콘솔 #앱내리기
- 도약전환
- 조립 후 재부팅
- Flutter #Stream
- 도약계좌전환
- flutter #dart #stream
- 청년도약계좌환승
- 희망적금전환
- 안드로이드 #코틀린 #코루틴 #콜백 #채널
- Today
- Total
Flutter 개발 상자
[Flutter] 'textScaleFactor' is deprecated and shouldn't be used. Use textScaler instead. Use of textScaleFactor was deprecated in preparation for the upcoming nonlinear text scaling support. This feature was deprecated after v3.12.0-2.0.pre. 본문
[Flutter] 'textScaleFactor' is deprecated and shouldn't be used. Use textScaler instead. Use of textScaleFactor was deprecated in preparation for the upcoming nonlinear text scaling support. This feature was deprecated after v3.12.0-2.0.pre.
망고상자 2023. 11. 26. 16:01textScalFactor Deprecated
Deprecated 란?
잘 쓰고 있던 textScaleFactor 파라미터에 취소선이 그어졌다.
취소선은 해당 기능이 Deprecate(더 이상 사용되지 않음) 됐다는것을 의미하며
새로운 대체기능으로 마이그레이션하는것을 권장한다는 경고이다.
경고이기때문에 컴파일 오류는 발생하지 않지만 경우에 따라서는 알 수 없는 런타임 에러가 발생할 수 있기 때문에 빠르게 수정하는게 좋다고 생각한다.
어떻게 수정하면 될까
https://docs.flutter.dev/release/breaking-changes/deprecate-textscalefactor#migration-guide
Deprecate textScaleFactor in favor of TextScaler
The new class, TextScaler, replaces the textScaleFactor scalar in preparation for Android 14 nonlinear text scaling support.
docs.flutter.dev
해당 문제 수정 방법은 Flutter 공식 3.16 마이그레이션 문서에 잘 나와있다.
문서를 참고하여 본인이 해당하는 케이스를 찾아 마이그레이션을 해주면 된다.
아래는 시스템 폰트 크기를 무시하는 코드 마이그레이션 방법이다.
MediaQuery(
data: MediaQuery.of(context).copyWith(textScaleFactor: 1.0),
child: child,
);
위와 같은 기존 코드를 아래와 같이 코드를 변경해주자.
MediaQuery.withNoTextScaling(
child: child,
);
TextScaler가 무엇일까?
문제 해결은 끝났고, 이제 잘 쓰고 있던 textScaleFactor 이걸 사라지게 만든 TextScaler에 대해서 알아보겠다.
공식문서에 따르면 Android14의 비선형글꼴 크기 조정에 대응하기 위해서 TextScaler를 도입했다고 한다.
안드로이드에는 시스템 자체적으로 글자의 크기를 조절할 수 있는데 그전에는 1.3배까지 조정가능하던게 안드로이드14부터는 2배까지 조정 가능하도록 변경되었다고 한다.
이렇다보니 큰 텍스트가 작은 텍스트와 똑같은 비율로 2배 커지게 되면 앱 UI가 망가질 확률이 커지므로 작은 텍스트는 2배를 적용하고 큰 텍스트는 2배보다 작은 배율을 적용한다는 것이다.
이런 비선형글꼴에 대응하기위한게 TextScaler이다.