티스토리 뷰

Mobile/Flutter

[Flutter] Material: Scaffold

춘햄 2022. 7. 7. 22:19

직전 포스팅에서 구성해본 Flutter 기본 프로젝트에서 _MyHomePageState 클래스 내부에 Scaffold라는 클래스가 있었다.

 

Scaffold는 Flutter가 지원해주는 디자인 방식인 Material library 하위 클래스이며, 찾아보니 서랍, 스낵바, 하단 시트, 플로팅 버튼 등을 간단하게 사용할 수 있도록 지원해주는 클래스로 보인다.

 

더 자세한 Reference는 여기를 참조하도록 하자.


Flutter 기본 예제 코드로 한번 살펴보자.

 

class _MyHomePageState extends State<MyHomePage> {
  int _counter = 0;

  void _incrementCounter() {
    setState(() {
      _counter++;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            const Text(
              'You have pushed the button this many times:',
            ),
            Text(
              '$_counter',
              style: Theme.of(context).textTheme.headline4,
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: _incrementCounter,
        tooltip: 'Increment',
        child: const Icon(Icons.add),
      ), // This trailing comma makes auto-formatting nicer for build methods.
    );
  }
}

위 코드에선 앱 바(AppBar), 바디(Body), 플로팅 액션 버튼(Floating Action Button), 플로팅 액션 버튼 (Floating Action Button)을 설정했다.

 

Scaffold를 사용하면 따로 레이아웃을 구성할 필요 없이 상단바, 하단 내비게이션 바를 포함하고 있는 디자인은 아주 쉽게 구성할 수 있다는 것이며, 앞으로 기본 위젯을 정리하면서 아주 요긴하게 대표 예제로 사용할 예정이다.

반응형

'Mobile > Flutter' 카테고리의 다른 글

[Flutter] State  (0) 2022.07.11
[Flutter] 화면 전환  (0) 2022.07.09
[Flutter] Buttons  (0) 2022.07.09
[Flutter] Widget  (0) 2022.07.09
[Flutter] Flutter Project 기본 구조  (0) 2022.07.07
Comments