728x90


앱전체 위젯에 적용하기

MaterialApp(
  title: '텍스트사이즈',
  theme: ThemeData(
    primarySwatch: Colors.blue,
    ),
  builder: (context, widget) {
  	return MediaQuery(
    	data: MediaQuery.of(context).copyWith(textScaleFactor: 1.0),
  		child: widget,
  	);
  },
  home: Home(),
),


단일 위젯에 사용

Text("text", textScaleFactor: 1.0)




설명

플러터에서 사용하는 기본 폰트사이즈 단위는 안드로이드의 sp 입니다

SP(Scale-Independent Pixels)는 UI 레이아웃을 정의할 때 텍스트의 크기를 지정하기 위해 사용하는 단위이다.

안드로이드 설정 화면에서 사용자는 안드로이드 시스템 전체에서 보여지는 텍스트의 크기를 선택하여 설정할 수 있는데 SP는 해당 설정에 영향을 받는다. 예를 들어, 시스템 설정에서 텍스트 크기를 최대 크게로 설정하게 되면 UI 레이아웃을 정의할 때 SP로 크기를 지정해놓은 TextView의 텍스트 크기가 영향을 받아 커진다. 반면에 TextView의 텍스트 크기를 DP로 설정하게 되면 시스템 설정의 텍스트 크기 값의 변화에 상관없이 일정한 크기를 유지한다.





 

ref. https://geojun.tistory.com/59

+ Recent posts