또, 플러터를 위해 아주 필수적이고 중요한 부분이 있다.

그것은 바로 Material App과 Scaffold인데

이것이 도대체 무엇인고 하니

얘네가 결국 플러터 앱 구조의 최상단에 위치한 조립용 조각들이다.

 

https://velog.io/@hjhj6389/%ED%94%8C%EB%9F%AC%ED%84%B0-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0

 

플러터 시작하기 - MaterialApp과 Scaffold

플러터 입문 - MaterialApp과 Scaffold를 사용하여 앱 만들기

velog.io

 

플러터 앱은 최종적으로 Material App의 형태가 되고

플러터 앱의 각 페이지를 만들기 위해서 주로 사용하는 골자로 Scaffold가 제공된다.

Flutter에서, 결국 앱이란 건 이런 형태가 되게 되어 있지 하고 표준 규격의 뼈대를 사용하도록 준 것이다.

 

하지만 개인적으로 안드로이드의 디자인이 정말 구리다고 생각하고 또 실제로 ios 에서 플러터 이식을 진행해야하기 때문에

Scaffold의 대안 혹은 AppBar 를 사용하지 않는 변형이 가능한지 확인해본 결과, 아래와 같은 포스팅을 찾을 수 있었다.

 

https://deque.tistory.com/134

 

플러터 - Status bar만 남기고 App bar는 지우기

Appbar를 지우려고 return MaterialApp( title: 'Flutter Demo', theme: ThemeData( primarySwatch: Colors.blue, ), home: Scaffold( appBar: new AppBar(), body: Center( child: Text("Hi"), )), ); 이런 코드..

deque.tistory.com

 

다행히 안드로이드형 구조인 기본 Scaffold 대신 IOS 형 구조인 CupertinoPageScaffold 를 사용할 수도 있었다.

그리고 이 경우 앱의 최종 형태 역시 Material App이 아닌 CupertinoApp이 된다.

그리고 import 로 사용하는 위젯 library 역시 material 이 아닌 cupertino를 사용해야한다.

또, Cupertino 위젯 관련한 모음도 공식 홈페이지에서 찾을 수 있었다.

 

https://flutter-ko.dev/docs/development/ui/widgets/cupertino

 

Cupertino (iOS-style) widgets

 

flutter-ko.dev

 

물론 Scaffold를 사용하지 않고도 직접 디자인적 요소들을 처리하는 방향으로도 앱을 작성할 수는 있는 듯 하다.

무조건 Scaffold를 사용해야 한다고 생각하지 않고, 원하는 UI 구성을 만들기 위해서 다양한 시도를 해볼 필요가 있겠다.

Scaffold는 그저 보다 쉽게 앱을 만들기 위해 제공되는 도구일 뿐인 것이다.

+ Recent posts