19. 새로 알게된 Flutter 지식 모음 - 11/08

Chocomilk·2021년 11월 8일
0
  1. Future.wait
  • 여러개의 Future함수를 동작하게 해야 될 때 사용한다.
  • 사용 예시
void main() async{
   List<List<dynamic>> result = await Future.wait<List<dynamic>>([
   getStringData(),
   getIntData(),
   ]);
   
   Future<List<String>> getStringData(){
   return Future.value(['a','b']);
   }
   
   Future<List<int>> getIntData(){
   return Future.value([1,2]);
   }
  
  --------------------------------------------------------
  -> 출력 결과
  	[a,b]
    	[1,2]
  • Flutter에서 future함수 안에 future를 사용하여도 기다려 주지 않기에 다음과 같이 사용한다.
  1. textScaleFactor
  • 해당 값을 설정해주지 않으면 기기마다 각각의 글자 넓이 조정을 따르게 된다.
  • 공식문서에는 다음과 같이 설명되어 있다.
    - number of font pixels for each logical pixel
    • 기기 자체의 폰트 크기 설정에 따라 해당 텍스트를 사용하는 픽셀수가 달리질수 있다. 그러한점을 방지하기 위해 해당 요소를 사용한다.
  • 해당 값을 설정하는 방법은 크게 세가지 있다.

1) 하나의 Text위젯에만 적용하기

	Text('Hello World',
    	textScaleFactor : 1.0)

2) 위젯 트리 전체에 적용하기

	Widget build(BuildContext context){
    return MediaQuery(
    data : MediaQuery.of(context).copyWith(textScaleFactor : 1.0),
    child : Widget);
    }

3) 앱 전체에 적용하기

MaterialApp(
	builder : (context,child) => MediaQuery(
    data: MediaQuery.of(context).copyWith(textScaleFactor : 1.0),
    child : Widget),
    title:....
    )
  1. enableInteractiveSelection 속성(default 값 : true)
  • TextField 내에 enableInteractiveSelection이라는 속성이 있다.
  • 보통 요즘의 어플들에서는 복사 영역을 선택하기 위해 글을 길게 눌러 블럭을 설정하여 텍스트를 복사할수 있다.
  • Flutter에서는 해당 속성을 textField에서 true로 설정해야 해당 행위들을 할 수 있다.
  • 만약 false로 설정한다면 길게 터치하여 블럭 설정, 글자 복사등의 행위를 할수 없다.
profile
어제보다 한 발짝 더 나아가려는 Flutter 개발자

0개의 댓글