TIF_NGANJUK_E41211992/lib/pages/splash_screen.dart

75 lines
1.8 KiB
Dart

import 'dart:async';
import 'package:flutter/material.dart';
import 'onboarding_screen.dart'; // Pastikan path sesuai
class SplashScreen extends StatefulWidget {
const SplashScreen({super.key});
@override
State<SplashScreen> createState() => _SplashScreenState();
}
class _SplashScreenState extends State<SplashScreen>
with SingleTickerProviderStateMixin {
late AnimationController _controller;
late Animation<double> _fadeAnimation;
@override
void initState() {
super.initState();
// Animasi fade-in
_controller = AnimationController(
vsync: this,
duration: const Duration(milliseconds: 1500),
);
_fadeAnimation = CurvedAnimation(
parent: _controller,
curve: Curves.easeIn,
);
_controller.forward();
// Navigasi ke Onboarding setelah 3 detik
Timer(const Duration(seconds: 3), () {
Navigator.pushReplacement(
context,
MaterialPageRoute(builder: (context) => const OnboardingScreen()),
);
});
}
@override
void dispose() {
_controller.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: const Color(0xFFFFFFFF),
body: Center(
child: FadeTransition(
opacity: _fadeAnimation,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Image.asset('assets/logo.png', width: 300),
const SizedBox(height: 24),
const Text(
'RawitCare',
style: TextStyle(
fontSize: 28,
fontWeight: FontWeight.bold,
color: Color(0xFFAC2B36), // Merah khas branding
letterSpacing: 1.2,
),
),
],
),
),
),
);
}
}