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

플러터(Flutter)는 Google에서 개발한 모바일 애플리케이션 개발 프레임워크입니다. Flutter의 장점 중 하나는 Android 및 iOS 외에도 웹 및 데스크톱 애플리케이션 개발을 지원한다는 것입니다. 이번 글에서는 플러터를 사용하여 웹 페이지 크기를 조절하는 기능을 구현해보겠습니다.

1. 커퍼티노 스테퍼란?

커퍼티노 스테퍼(Cupertino Stepper)는 iOS 스타일의 스테퍼 위젯입니다. 이 위젯을 사용하면 사용자가 값을 증감시킬 수 있는 스테퍼를 생성할 수 있습니다. 이번 예제에서는 웹 페이지의 가로 크기를 조절하는 데 사용될 것입니다.

2. 플러터 프로젝트 생성

먼저, 터미널에서 다음 명령어를 사용하여 새로운 플러터 프로젝트를 생성합니다.

flutter create web_resize_project

프로젝트가 생성되면, main.dart 파일을 열고 기본 구성을 변경합니다.

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

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

class WebResizeApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: WebResizePage(),
    );
  }
}

class WebResizePage extends StatefulWidget {
  @override
  _WebResizePageState createState() => _WebResizePageState();
}

class _WebResizePageState extends State<WebResizePage> {
  double pageWidth = 300;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Web Page Resize'),
      ),
      body: Center(
        child: Container(
          width: pageWidth,
          height: 200,
          color: Colors.blue,
          child: Center(
            child: Text(
              'Resize me!',
              style: TextStyle(
                fontSize: 20,
                color: Colors.white,
              ),
            ),
          ),
        ),
      ),
      bottomNavigationBar: CupertinoScrollbar(
        child: Padding(
          padding: EdgeInsets.all(16),
          child: CupertinoStepper(
            initialValue: pageWidth,
            min: 100,
            max: 500,
            stepValue: 50,
            onChanged: (value) {
              setState(() {
                pageWidth = value;
              });
            },
          ),
        ),
      ),
    );
  }
}

위 코드에서는 WebResizePage StatefulWidget을 정의합니다. pageWidth 변수는 페이지의 초기 가로 크기를 저장하는 데 사용됩니다. 커퍼티노 스테퍼를 사용하여 pageWidth 값을 조절하고 있습니다.

3. 실행 및 테스트

프로젝트를 실행하려면 터미널에서 다음 명령어를 실행합니다.

cd web_resize_project
flutter run -d chrome

웹 페이지가 로드되면, 아래에 있는 스테퍼를 사용하여 페이지의 가로 크기를 조절해보세요. 스테퍼의 값이 변경될 때 마다 페이지의 크기가 업데이트됩니다. ‘Resize me!’라고 써진 텍스트가 페이지의 중앙에 위치합니다.

이제 플러터를 사용하여 웹 페이지 크기를 조절하는 기능을 구현하는 방법을 알아보았습니다. 플러터는 다양한 플랫폼에서 애플리케이션을 개발할 수 있는 강력한 도구입니다. 창의적인 아이디어를 실현하기 위해 플러터를 사용해보세요!


참고 자료: