[flutter] 플러터에서 Visibility 속성을 이용한 반응형 디자인 구현하기
플러터(Flutter)를 사용하여 모바일 앱을 개발할 때, 반응형 디자인을 구현하는 것은 매우 중요합니다. 화면의 크기나 방향이 변경될 때 UI를 동적으로 조정하여 최적의 사용자 경험을 제공할 수 있습니다. Visibility
위젯을 사용하여 화면에 표시하거나 감출 수 있는 기능을 구현할 수 있습니다.
1. Visibility 속성 이해
Visibility
위젯은 자식 위젯의 표시 여부를 제어하는 데 사용됩니다. visible
, invisible
, gone
의 세 가지 모드를 가지고 있습니다.
visible
: 자식 위젯이 화면에 보입니다.invisible
: 자식 위젯은 화면에 보이지만 투명하게 처리됩니다.gone
: 자식 위젯이 화면에 나타나지 않습니다.
2. 예제
다음은 Visibility
위젯을 사용하여 반응형 디자인을 구현하는 간단한 예제입니다.
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('Visibility 예제'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Visibility(
visible: true,
child: Text('첫 번째 위젯'),
),
Visibility(
visible: false,
child: Text('두 번째 위젯'),
),
],
),
),
),
);
}
}
위 예제에서 두 개의 Text
위젯을 Visibility
위젯으로 감싸고 있습니다. 첫 번째 Visibility
위젯은 visible
속성이 true
로 설정되어 있기 때문에 해당 텍스트가 화면에 표시됩니다. 반면, 두 번째 Visibility
위젯은 visible
속성이 false
로 설정되어 있기 때문에 해당 텍스트가 화면에 보이지 않습니다.
3. 결론
플러터에서 Visibility
속성을 이용하여 간단하면서도 효과적인 반응형 디자인을 구현할 수 있습니다. 화면의 크기나 상태에 따라 UI를 동적으로 조절할 수 있는 이러한 접근 방식은 사용자에게 일관된 경험을 제공하는 데 도움이 됩니다. 필요한 경우 Visibility
위젯을 적절히 활용하여 보다 유연하고 사용자 친화적인 앱을 개발할 수 있습니다.
더 많은 정보를 원하시면 플러터 공식 문서를 참고하시기 바랍니다.