개발노트

18. [Flutter] ThemeData() 로 위젯 디자인 한번에 지정하기(Color, Font 등) 본문

앱 개발/Flutter

18. [Flutter] ThemeData() 로 위젯 디자인 한번에 지정하기(Color, Font 등)

mroh1226 2023. 6. 15. 13:37
반응형

ThemeData()

Flutter에서 ThemeData 클래스는 앱의 전체적인 디자인 테마를 지정하는 데 사용됩니다.

ThemeData를 사용하여 앱의 색상, 텍스트 스타일, 아이콘 테마 등을 일관되게 설정할 수 있습니다. 

ThemeData는 MaterialApp 위젯 theme: 속성 에 주로 사용되지만, Cupertino 앱의 디자인도 지정할 수 있습니다.

 

  • 색상 지정
    - primaryColor: 앱의 기본 색상
    - accentColor: 강조 색상
    - scaffoldBackgroundColor: 스카폴드(전체 앱 화면)의 배경색
    - backgroundColor: 앱의 일반적인 배경색
    등...

  • 텍스트 스타일 지정
    - textTheme: 앱 전체의 텍스트 스타일을 설정합니다. 예: headline1, headline2, bodyText1 등
    - fontFamily: 기본 폰트 패밀리
    - appBarTheme: 앱바의 텍스트 스타일 지정
    등...

  • 아이콘 테마 지정
    - iconTheme: 아이콘의 기본 크기, 색상 등을 설정합니다.
  • 버튼 테마 지정
    - buttonTheme: 버튼의 기본 스타일과 색상을 설정합니다.
  • 기타 속성
    - cardTheme: 카드 위젯의 테마 지정
    - inputDecorationTheme: 입력 필드 위젯의 테마 지정
    - appBarTheme: 앱바의 테마 지정
    등...

사용 예시.

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        title: 'MyApp',
        
        theme: ThemeData(
            scaffoldBackgroundColor: Colors.white,
            appBarTheme: const AppBarTheme(backgroundColor: Colors.white),
            primaryColor: const Color(0xFFE9435A)),
        
        home: const SignUpScreen());
  }
}

설명.

  • scaffoldBackgroundColor: scaffold 위젯 전체의 배경색을 흰색 (Colors.white)으로 지정합니다.
  • appBarTheme: 앱바의 테마를 설정하며, AppBarTheme의 backgroundColor 속성을 사용하여 앱바의 배경색을 흰색 (Colors.white)으로 지정합니다.
  • primaryColor: 앱의 기본 색상을 지정하며,  빨간색 (Color(0xFFE9435A))으로 설정되어 있습니다.
반응형
Comments