본문 바로가기
공부방/Flutter

[Flutter] SingleChildScrollView함수(위젯)

by SmartCow 2024. 2. 14.

1. SingleChildScrollView함수(위젯)이란?

 자식 위젯이 스크롤 가능한 단일 위젯. SingleChildScrollView는 화면에 표시되는 컨텐츠가 화면 크기를 초과할 때 사용. 이 위젯을 사용하면 화면의 모든 내용을 스크롤하여 볼 수 있다.
SingleChildScrollView는 자식 위젯이나 자식 위젯 목록을 가질 수 있다. 이 위젯을 사용할 때, 자식 위젯의 크기가 화면을 초과하는 경우 스크롤이 활성화된다. 자식 위젯이 화면 크기를 초과하지 않으면 스크롤은 활성화되지 않는다.

2. 예시

import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('SingleChildScrollView Example'),
        ),
        body: SingleChildScrollView(
          child: Column(
            children: <Widget>[
              Container(
                height: 1000, // ScrollView를 활성화하기 위해 컨텐츠의 높이를 설정.
                color: Colors.blue,
                child: Center(child: Text('Content')),
              ),
            ],
          ),
        ),
      ),
    );
  }
}

이 예제에서는 SingleChildScrollView를 사용하여 컨텐츠가 화면을 벗어날 때 스크롤이 가능하도록 만든다. SingleChildScrollView는 자식 위젯으로 Column을 갖고 있다. 이 경우 Column은 하나의 자식 위젯을 가지고 있다. 이 자식 위젯은 Container이며 높이가 1000이므로 ScrollView가 활성화된다.

3. SingleChildScrollView의 주요 특징

1) 단일 자식
SingleChildScrollView는 하나의 자식 위젯을 가질 수 있다.
2) 스크롤
자식 위젯이 화면을 벗어날 경우 스크롤이 활성화된다.
3) Axis
SingleChildScrollView는 스크롤이 작동할 축을 설정할 수 있다. 기본적으로 수직 스크롤이 적용.
4) 확장성
SingleChildScrollView는 매우 다양한 레이아웃을 만들 수 있도록 다른 레이아웃과 조합하여 사용할 수 있다.

※ SingleChildScrollView는 다양한 사용 사례에 유용하며, 화면에 맞지 않는 컨텐츠를 스크롤 가능하게 만들기 위해 자주 사용된다.