[flutter] 플러터 아이콘 그래디언트 사용 방법
플러터(Flutter)를 사용하여 아이콘에 그래디언트 효과를 적용하는 방법에 대해 알아보겠습니다. 그래디언트는 색상이 부드럽게 변하는 효과를 줄 수 있는데, 아이콘에 그래디언트를 적용하면 더 독특하고 시각적으로 매력적인 디자인을 구현할 수 있습니다.
1. 그래디언트 효과를 적용할 아이콘 준비
플러터 앱에서 그래디언트를 적용할 아이콘을 준비합니다. 이 예제에서는 Icons.star
를 사용하여 별 아이콘에 그래디언트를 적용해 보겠습니다.
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('아이콘 그래디언트'),
),
body: Center(
child: Icon(
Icons.star, // 그래디언트를 적용할 아이콘
size: 100,
),
),
),
);
}
}
2. 아이콘에 그래디언트 효과 적용
아이콘에 그래디언트 효과를 적용하려면 Stack
과 ShaderMask
위젯을 사용합니다. ShaderMask
위젯은 쉐이더(Shader)를 사용하여 자식 위젯을 마스킹(masking)하는 역할을 합니다.
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('아이콘 그래디언트'),
),
body: Center(
child: Stack(
children: [
Icon(
Icons.star, // 그래디언트를 적용할 아이콘
size: 100,
),
ShaderMask(
blendMode: BlendMode.srcIn,
shaderCallback: (Rect bounds) {
return LinearGradient(
colors: [Colors.purple, Colors.blue], // 그래디언트 색상 설정
).createShader(bounds);
},
child: Icon(
Icons.star, // 그래디언트 적용할 아이콘
size: 100,
color: Colors.white, // 아이콘 색상 설정 (필수)
),
),
],
),
),
),
);
}
}
위 예제에서는 Stack
을 사용하여 원래의 아이콘과 그래디언트를 적용한 아이콘을 겹쳐서 표시했습니다. ShaderMask
위젯을 사용하여 그래디언트 효과를 적용하고, blendMode
와 shaderCallback
을 설정하여 그래디언트를 적용했습니다.
이제 플러터 앱에서 아이콘에 그래디언트 효과를 적용하는 방법에 대해 알아보았습니다. 그래디언트 효과를 다양하게 적용하여 앱의 디자인을 보다 독특하게 꾸밀 수 있습니다.
참고 자료: