`Rive`를 활용하여 배경이 움직이고 블러 처리하여 뉴모피즘 느낌을 줄 수 있습니다. rive 사이트에서 예제를 받을 수 있습니다.
아래의 패키지를 설치하여 사용합니다.
예제
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: const MainView(),
);
}
}
class MainView extends StatelessWidget {
const MainView({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
body: Stack(
children: [
const RiveAnimation.asset(
'assets/rive/3902-8169-pathfinder.riv',
alignment: Alignment.bottomCenter,
fit: BoxFit.cover,
),
Positioned.fill(
child: BackdropFilter(
filter: ImageFilter.blur(sigmaX: 5, sigmaY: 5),
child: Container(
color: Colors.black.withOpacity(0.1),
),
),
),
Container(
padding: const EdgeInsets.all(20),
width: double.infinity,
height: double.infinity,
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [
const SizedBox(height: 100),
const Text(
'Learn\r\nDesign\r\n& Code',
style: TextStyle(
color: Colors.white,
fontSize: 60,
fontWeight: FontWeight.bold,
height: 1.1,
),
),
const SizedBox(height: 10),
SizedBox(
width: MediaQuery.of(context).size.width * 0.8,
child: Text(
"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.",
style: TextStyle(
color: Colors.grey.shade200,
fontSize: 14,
height: 1.5,
fontWeight: FontWeight.w400,
),
),
),
Expanded(
flex: 1,
child: Align(
alignment: Alignment.bottomCenter,
child: SizedBox(
child: Text(
'Rive Example Flutter By REAFLA',
style: TextStyle(
color: Colors.grey.shade200,
fontSize: 14,
fontWeight: FontWeight.bold,
),
),
),
),
),
],
),
),
],
),
);
}
}
참고 링크
728x90
사업자 정보 표시
레플라 | 홍대기 | 경기도 부천시 부일로 519 화신오피스텔 1404호 | 사업자 등록번호 : 726-04-01977 | TEL : 070-8800-6071 | Mail : support@reafla.co.kr | 통신판매신고번호 : 호 | 사이버몰의 이용약관 바로가기
'Dart > Flutter' 카테고리의 다른 글
[Flutter] 플러터 성능향상을 위한 `RepaintBoundary` 위젯 사용하기 (0) | 2022.12.24 |
---|---|
[Flutter] 플러터 파이어베이스(Firebase)를 통한 구글(Google) 소셜 로그인 설정하기 (0) | 2022.12.24 |
[Flutter] `TextField`, `TextFormField` 특정 포커스(Focus) 위치하기 (0) | 2022.12.23 |
[Flutter] 탭바(Tabbar) 스크롤 위치 기억하기 `Render Visible` (0) | 2022.12.23 |
[Flutter] Location `Attempt to invoke interface method 'void'` 오류 해결하기 (0) | 2022.12.21 |