https://undraw.co/illustrations (일러스트 다운 사이트)
https://pub.dev/packages/introduction_screen (소개 페이지 라이브러리)
라이브러리 추가하기

pubspec.yaml에 라이브러리 추가
앱 실행 시 로딩 페이지 제작
import 'dart:async';
import 'package:ecommerce/screens/onboarding_screen.dart';
import 'package:flutter/material.dart';
class SplashScreen extends StatefulWidget {
const SplashScreen({super.key});
@override
State<SplashScreen> createState() => _SplashScreenState();
}
class _SplashScreenState extends State<SplashScreen> {
@override
void initState() {
super.initState();
Timer(
Duration(seconds: 3),
() => Navigator.push(
context,
MaterialPageRoute(
builder: (context) => OnboardingScreen(),
)));
}
@override
Widget build(BuildContext context) {
return Material(
child: Container(
height: MediaQuery.of(context).size.height,
width: MediaQuery.of(context).size.width,
decoration: BoxDecoration(
color: Colors.black,
image: DecorationImage(
image: AssetImage("images/image2.jpg"),
fit: BoxFit.cover,
opacity: 0.4,
)),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Icon(
Icons.shopping_cart,
size: 200,
color: Color(0xFFDF4B4B),
),
Text(
"DP SHOP",
style: TextStyle(
color: Colors.white,
fontSize: 40,
fontWeight: FontWeight.bold,
fontStyle: FontStyle.italic,
),
),
],
),
),
);
}
}
라이브러리를 Timer를 통해 사용자가 로딩 페이지에서 어느 정도 머물지 시간을 정해줄 수 있다.

Duration(seconds: 3) ← 코드를 통해서 3초간 머물게 한다.
이후 MaterialPageRoute 을 통해서 OnboardingScreen으로 이동시킨다.
SplashScreen 화면

Splash화면 이후 나타나는 Onboarding 화면

앱 실행 시 사이트 소개 페이지 제작

화면에 아래와 같은 소개 페이지들을 만들 수 있게 된다.

라이브러리를 통해
IntroductionScreen
이라는 위젯을 사용할 수 있다.해당 위젯의 설정 중 pages를 통해 설명 페이지들을 넣어줄 수 있다.
PageViewModel 위젯을 이용해 각 페이지들의 요소를 설정할 수 있다.
show 각종 버튼들 설정해주기
각 설명페이지를 넘기거나 이전 설명페이지로 이동, 설명 페이지 전체 스킵과 같은 기능을 하는 button을 설정해 주어야 한다.

showSkipButton, showDoneButton, showBackButton을 true로 한 뒤
보여질 버튼들을 설정해주어야지 오류가 발생하지 않는다.
만약 showSkipButton을 true로 설정하고,
skip을 설정해주지 않는다면 오류가 발생한다. 다른 버튼도 마찬가지..

Share article