Flutter

[Flutter] 반응형으로 스크린 사이즈 대응하기 & 유용한 패키지

hminor 2023. 8. 17. 16:18
반응형

반응형으로 스크린 사이즈 대응하기

  • 적용하고자 하는 곳의 Widget build() 함수 아래에 MediaQuery 클래스를 작성하기
    • 단, context로는 Material App이 상위에 있어야 함.
    • 그리고 .size 라고 하면 현재 유저 기기의 화면정보를 알려주게 된다.
    • 종류(LP 단위)
      • .width는 가로
      • .height는 세로
      • .padding.top은 상태바 윗 여백
      • .devicePixelRatio는 해상도
        • 1LP에 몇 px가 들어가는지
      • .highContrast 고대비옵션이 켜져있는지
      • .textScaleFactor 폰트 사이즈를 얼마나 키우고 사용하는지
    @override
      Widget build(BuildContext context) {
    
        MediaQuery.of(context).size.width;
    }
    
  • 중요 이미지를 보이고자 할 경우
    • 해상도에 따라 다르게 보이기에 해상도 별 다른 이미지를 넣어야 한다.
    • 그래서 assets 폴더에 파일을 저장한다고 하면
      • 2.0x 폴더에 해상도가 기존의 2배인 파일을 넣어둔다고 했을 때
      • devicePixelRatio 가 1~2면 자동으로 해당 폴더에서 가져다 사용하게 된다고 한다.
      • 물론 3.0x( devicePixelRatio == 2~3 )도 마찬가지
  • 사용시 편리한 라이브러리