플러터(Flutter)에서 Material
위젯은 구글의 머티리얼 디자인(Material Design) 가이드라인을 따르는 UI를 구성하는 데 사용됩니다. 머티리얼 디자인은 시각적으로 풍부하고 직관적인 인터페이스를 제공하기 위한 디자인 언어로, 다양한 위젯, 애니메이션, 스타일링 옵션을 포함하고 있습니다. Material
위젯은 머티리얼 디자인의 시각적, 기능적 기반을 제공합니다.
Material
위젯은 종이와 같은 물리적 특성을 시뮬레이션합니다. 예를 들어, 그림자, 모양(둥근 모서리 등), 그리고 빛 반사 같은 효과를 나타낼 수 있습니다.Material
위젯은 elevation
속성을 통해 이러한 그림자의 깊이를 조절할 수 있습니다.Material
위젯을 사용하면 InkWell
과 같은 다른 위젯과 함께 사용하여 이러한 효과를 구현할 수 있습니다.Material
위젯은 shape
속성을 통해 모양을 커스터마이징할 수 있습니다. 이를 통해 둥근 모서리 또는 다양한 모양의 카드를 만들 수 있습니다.Material
위젯은 머티리얼 디자인의 색상 시스템을 활용하여 앱의 전반적인 테마와 일관성을 유지할 수 있도록 합니다. color
속성을 통해 위젯의 배경색을 설정할 수 있습니다.Material
위젯은 다음과 같이 사용할 수 있습니다:
Material(
color: Colors.blue,
elevation: 5.0,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10.0),
),
child: Container(
width: 100,
height: 100,
alignment: Alignment.center,
child: Text('Hello, Material!'),
),
)
위 예제에서 Material
위젯은 파란색 배경, 5.0의 그림자 깊이(elevation), 10.0의 둥근 모서리를 가진 사각형 모양을 가집니다. 그 안에 'Hello, Material!' 텍스트를 표시하는 Container
를 포함하고 있습니다.
Material
위젯은 Scaffold
위젯과 같이 사용할 때 최고의 호환성을 보입니다. Scaffold
는 머티리얼 디자인 앱의 레이아웃을 위한 뼈대를 제공합니다.
Material
위젯 안에 또 다른 Material
위젯을 중첩할 때는 각각의 위젯이 독립적인 물리적 특성을 가지므로 주의해야 합니다. 예를 들어, 중첩된 Material
위젯은 부모
위젯의 그림자나 모양 설정을 상속받지 않습니다.
플러터에서 Material
위젯을 사용하면, 사용자가 머티리얼 디자인의 다양한 기능을 손쉽게 적용하여 시각적으로 매력적이고 일관성 있는 앱 인터페이스를 구축할 수 있습니다.