[flutter] 플러터 커퍼티노 스테퍼를 이용한 자막 크기 조절 기능 구현하기

Flutter Logo

플러터(Flutter)는 구글에서 개발한 UI 프레임워크로, 하나의 코드베이스로 iOS와 Android 애플리케이션을 개발할 수 있습니다. 이번에는 플러터의 커퍼티노 스테퍼(Cupertino Stepper)를 이용하여 자막 크기를 조절하는 기능을 구현해보도록 하겠습니다.

자막 크기 조절 기능의 필요성

안드로이드와 iOS 플랫폼에서는 사용자의 기기 설정에 따라 자막의 크기를 조절할 수 있습니다. 이는 시청하는 영상의 자막이나 앱 내에서 사용되는 텍스트의 가독성을 높이기 위해 중요한 기능입니다. 이번에는 플러터의 커퍼티노 스테퍼를 이용하여 앱 내에서 간편하게 자막 크기를 조절하는 기능을 구현해보겠습니다.

커퍼티노 스테퍼를 이용한 자막 크기 조절 기능 구현하기

커퍼티노 스테퍼는 iOS 앱의 디자인을 구현하기 위해 사용되는 위젯으로, 일반적인 스테퍼와는 다른 모양과 동작을 가지고 있습니다. 이를 이용하여 자막 크기를 조절하는 기능을 쉽게 구현할 수 있습니다.

먼저, cupertino_icons 패키지를 프로젝트에 추가해야 합니다. pubspec.yaml 파일에 다음과 같이 cupertino_icons: ^1.0.3를 추가합니다. 그리고 패키지를 가져옵니다.

import 'package:flutter/cupertino.dart';

자막 크기 조절을 위한 스테퍼를 구현하기 위해 다음 코드를 추가합니다.

double subtitleSize = 12.0;

CupertinoStepper(
  value: subtitleSize,
  min: 10.0,
  max: 20.0,
  step: 2.0,
  onChanged: (double value) {
    setState(() {
      subtitleSize = value;
    });
  },
  children: [
    Text('자막 크기: $subtitleSize'),
    Text(
      '예시 자막',
      style: TextStyle(fontSize: subtitleSize),
    ),
  ],
),

위의 코드에서 value는 스테퍼의 현재 값을, minmax는 스테퍼의 범위를, step은 한 번에 증감하는 값의 크기를 나타냅니다. onChanged는 스테퍼 값이 변경될 때 호출되는 콜백 함수입니다.

이제 자막 크기가 실시간으로 변경되는 것을 확인할 수 있습니다. 스테퍼 아래에 있는 Text 위젯은 현재 자막 크기를 보여주는 역할을 하며, 스테퍼 아래의 Text 위젯은 예시 자막을 보여주는 역할을 합니다. fontSize 속성을 통해 자막의 크기를 동적으로 변경할 수 있습니다.

마무리

이번에는 플러터의 커퍼티노 스테퍼를 이용하여 자막 크기를 조절하는 기능을 구현해보았습니다. 플러터의 다양한 위젯과 패키지를 활용하면 앱의 사용성을 높이고 풍부한 사용자 경험을 제공할 수 있습니다.