[flutter] cupertino_icons를 이용한 아이콘의 테마 설정하기

Flutter는 iOS 앱 개발을 위한 Cupertino 디자인 시스템을 제공합니다. cupertino_icons 패키지는 Cupertino 아이콘들을 직접 사용할 수 있도록 도와줍니다. 이번 블로그 포스트에서는 cupertino_icons를 활용하여 아이콘의 테마를 설정하는 방법에 대해 알아보겠습니다.

1. cupertino_icons 패키지 추가하기

먼저, cupertino_icons 패키지를 프로젝트에 추가해야 합니다. pubspec.yaml 파일에서 dependencies 항목에 아래와 같이 추가해주세요.

dependencies:
  cupertino_icons: ^1.0.4

의존성을 추가한 후에는 pub get 명령어를 사용하여 패키지를 설치해주세요.

2. 아이콘 테마 설정하기

아이콘 테마 설정은 CupertinoTheme 위젯을 사용하여 구현할 수 있습니다. 먼저, CupertinoIcons 클래스를 사용하여 원하는 아이콘 데이터를 가져옵니다.

import 'package:flutter/cupertino.dart';
import 'package:cupertino_icons/cupertino_icons.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return CupertinoApp(
      home: CupertinoPageScaffold(
        navigationBar: CupertinoNavigationBar(
          middle: Text('아이콘 테마 설정'),
        ),
        child: CupertinoTheme(
          data: CupertinoThemeData(
            brightness: Brightness.light,
            primaryColor: CupertinoColors.systemBlue,
            scaffoldBackgroundColor: CupertinoColors.systemGrey6,
            iconTheme: CupertinoIconThemeData(
              color: CupertinoColors.systemIndigo,
              size: 24.0,
            ),
          ),
          child: Center(
            child: Column(
              mainAxisAlignment: MainAxisAlignment.center,
              children: [
                // 아이콘 위젯들을 사용해서 UI를 구성할 수 있습니다.
                CupertinoIcons.home,
                CupertinoIcons.settings,
                CupertinoIcons.mail,
              ],
            ),
          ),
        ),
      ),
    );
  }
}

위 예제에서는 CupertinoTheme 위젯의 data 속성을 사용하여 아이콘에 대한 테마를 설정했습니다. CupertinoThemeData 클래스의 속성을 사용하여 다양한 테마를 설정할 수 있습니다. 예를 들어, brightness 속성을 사용하여 밝은 또는 어두운 테마를 선택할 수 있고, primaryColor 속성을 사용하여 원하는 기본 색상을 지정할 수 있습니다.

결론

cupertino_icons 패키지를 사용하여 Flutter 앱에서 Cupertino 아이콘의 테마를 설정하는 방법에 대해 살펴보았습니다. CupertinoTheme 위젯을 사용하여 아이콘에 대한 다양한 테마를 설정할 수 있습니다. 이를 활용하여 iOS 스타일의 아이콘을 보다 쉽게 구현할 수 있습니다.

더 자세한 내용은 Flutter Documentation을 참고하여 앱에 적합한 테마를 설정해보세요.