inflearn logo
강의

Course

Instructor

[Code Factory] [Intermediate] Flutter Real Practice! State Management, Cache Management, Code Generation, GoRouter, Authentication Logic, etc. Essential Skills to Become an Intermediate!

Introducing Riverpod

디자이너와 협업 시 프레임 크기 설정 관련 질문

111

helloworld

9 asked

0

반응형 UI를 만들기 위해서 모든 위젯에 정적인 값을 주기 보단, 각 휴대폰의 높이, 너비에 대응할 수 있는 동적인 높이, 너비 값 등을 줘야 하는 것으로 알고 있습니다. 보통 디자이너와 협업하면 피그마라는 툴로 디자이너가 만든 화면을 바탕으로 제가 개발해야 될텐데요. 이 때 runApp( ProviderScope( child: ScreenUtilInit(designSize: Size(402, 874), child: _App()), ), );
이런 식으로 메인 함수에서 프로젝트를 RUN할 때 피그마 환경의 휴대폰 너비, 높이 값을 주고 이를 바탕으로 개발을 해야 될까요?

flutter 하이브리드-앱

Answer 2

0

codefactory

안녕하세요!

보통 말씀하신대로 사이즈별로 breakpoint라는걸 만들어서 구현합니다.

웹에서 온 개념인데 보통 1200, 992, 768, 576 사이즈로 합니다. 이보다 더 세세하게 또는 적게 하는 경우도 물론 많습니다.

모바일 디바이스 대응도 결국 마찬가지입니다.

감사합니다!

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. helloworld님.

Flutter로 반응형 UI를 구현할 때 디자이너와의 협업에서 피그마의 디자인을 바탕으로 앱을 개발하는 것은 좋은 접근입니다. 피그마에서 제공하는 화면 크기를 참고하여 ScreenUtil과 같은 패키지를 활용하여 디자인을 반영할 수 있습니다. 이러한 방식은 다양한 기기에서 일관된 사용자 경험을 제공하는 데 유용합니다.

피그마와 ScreenUtil 활용 방법:

  1. 피그마 디자인 크기 설정: 디자이너가 피그마에서 작업한 디자인의 해상도를 확인하세요. 일반적으로 사용되는 디바이스의 크기(예: iPhone 12 Pro 등)를 기준으로 합니다.

  2. ScreenUtil 초기화: 제공된 디자인 해상도를 ScreenUtilInitdesignSize 매개변수에 지정합니다. 이렇게 하면 앱이 실행될 때 자동으로 기기 크기를 기준으로 배율을 조정합니다.

    runApp(
      ProviderScope(
        child: ScreenUtilInit(
          designSize: Size(402, 874), // 피그마의 디자인 크기
          child: _App(),
        ),
      ),
    );
    
  3. 반응형 디자인 요소 구현: 위젯의 높이, 너비 및 여백 등을 설정할 때 ScreenUtil의 메서드(setWidth, setHeight, setSp 등)를 사용하여 반응형으로 설정합니다. 예를 들어:

    Container(
      width: 100.w,
      height: 200.h,
    )
    

추가 팁:

  • 디자인 가이드라인 확인: 디자이너의 기기 별 가이드라인이 있다면 이를 충분히 검토하세요.
  • 테스트: 다양한 화면 크기에서 테스트하여 UI가 적절하게 표시되는지 확인합니다.

이러한 방식으로 피그마 디자인의 스타일과 배율을 Flutter 앱 내에서 효과적으로 적용할 수 있습니다.

관심 있을만한 회신 링크를 참고해 보세요:
widget의 크기를 수치로 설정하는 것

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Isar 마지막 업데이트는 2년전입니다.

0

25

0

FlutterSecureStorage 질문

0

25

0

Dio onError Interceptor 만드는 부분에 질문이 있습니다.

0

74

2

관리자 기능에 대한 질문

0

96

2

part 'restaurant_model.g.dart';

0

91

1

36강. dio 인터셉터에 storage를 전달하는 코드가 이해 안되는데요. 도움 부탁드립니다.

0

54

2

2번 반환 상황 관련 질문

0

58

2

riverpod 3.0

0

139

2

Asset folder??

0

79

2

FutureProvider, StateNotifierProvider 선택 기준

0

68

2

컴포넌트 모델화

0

61

2

쿼리 파라미터

0

81

2

화면 안보임

0

64

2

PaginationListView

0

50

1

강의중 37.Dio onErrorInterceptor 작업하기 dio 관련 질문입니다.

0

99

2

프로토타입이미지

0

59

2

여러 객체를 상태 관리하는 방법에 대한 질문

0

82

2

장바구니 결제하기 응답이 500이 옵니다.

0

102

2

removeFromBasket에서 await patchBasket()을 마지막에 하면 에러나는거 아닌가요?

0

64

2

이 두가지는 완전히 동일한 기능인가요?

0

104

3

내부 코드를 작성하지 않은 CursorPaginationLoading가 어떻게 로딩상태를 갖는지 잘 모르겠습니다...

0

75

2

_SplashScreenState에서 storage를 late로 호출해서 한번만 불러와도 되나요?

0

81

2

코딩 작성 순서 관련 질문

0

83

2

ProductCard factory 관련 문제 질문

0

47

2