2. Membuat Splash Screen
1. Atur Pubspec
Hal yang pertama yang akan kita mulai untuk memulai project ini adalah membuat splash screen maka dari itu buatlah sebuah folder baru dengan nama assets & di dalam folder assets buat folder baru kembali dengan nama img. Daftarkan folder yang sudah dibuat pada pubspec.yaml
2. Buat File
Pada folder ui buat file baru dengan nama splashscreen.dart
dan home.dart
lalu buat kodenya seperti ini :
home.dart
Lakukan hal yang sama pada import 'package:flutter/material.dart';
class Home extends StatelessWidget {
const Home({super.key});
@override
Widget build(BuildContext context) {
return const Placeholder();
}
}
splashscreen.dart
3. Atur Main
Untuk membuat splashscreen kuncinya pada file main.dart
. Buatlah main menjadi seperti ini :
main.dart
// ignore_for_file: prefer_const_constructors, use_key_in_widget_constructors
import 'package:flutter/material.dart';
import 'package:travel_app/ui/home.dart';
import 'package:travel_app/ui/splashscreen.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return FutureBuilder(
future: Future.delayed(Duration(seconds: 3)),
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.done) {
return MaterialApp(
title: 'Flutter Demo',
debugShowCheckedModeBanner: false,
initialRoute: '/',
routes: {
'/': (context) => Home(),
'/splash': (context) => SplashScreen()
},
);
}
return SplashScreen();
});
}
}
Keterangan
- Jika ada error pada
widget_test.dart
hapus saja constnya - Disini kita menggunakan builder yakni Future Builder yang merupakan sebuah proses yang akan memproses kejadian yang akan datang / tidak harus dikerjakan sekarang. Kenapa menggunkan future builder ? karena kita membutuhkan aplikasi berhenti(delay) agar splashscreen dapat di lihat oleh pengguna
- Future builder memiliki 2 parameter yang harus kita isi yakni
future
: prosesnya danbuilder
: aksinya. connectionState
: adalah sebuah kondisi future yang kita bisa dapatnya. Kondisi di dalam future ada 4 active, done, none, waiting. jadi untuk kode diatas menyatakan jika future builder telah menyelesaikan prosesnya (delay 3 detik) maka connectionStatenya yang sebelumnya waiting akan berubah menjadi done.
4. Membuat Tampilan Splash Screen
Setelah pengaturan splashscreen sudah selesai kita atur selanjutnya tinggal tampilan dari splashscreen tersebut yang harus kita buat. Maka dari itu masukkan kode dibawah ini :
splashscreen.dart
// ignore_for_file: prefer_const_constructors, avoid_unnecessary_containers, sized_box_for_whitespace
import 'package:flutter/material.dart';
class SplashScreen extends StatelessWidget {
const SplashScreen({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
body: Column(
children: [
Container(
height: MediaQuery.of(context).size.height * 0.9,
child: Center(child: Image.asset("assets/img/traver.png"))),
Center(
child: Text("Version 1.1.0"),
)
],
),
),
);
}
}