Flutter Flutter Animation – Animasi Fade In Out Pada Widget by Anton Prafanto 4 years ago 0 Comments Untuk teman-teman yang akan baru memulai belajar Flutter silahkan masuk ke artikel ini dulu ya teman-teman ➡ Aplikasi Pertamaku “Halo Semuaaa…“. Jika sudah yuk lanjut baca artikel ini… Jangan lupa baca artikel sebelumnya ya teman-teman ➡ Membuat Animasi Properti Container UI developers sering kali perlu menampilkan dan menyembunyikan elemen di halaman layar. Namun, elemen yang muncul pada layar terkadang terlalu cepat sehingga dapat terasa mengagetkan bagi pengguna. Untuk itu sebagai gantinya, kita akan menggunakan efek fade in dan out dengan animasi opasitas sehingga menciptakan user experience yang animasinya mulus. Widget AnimatedOpacity memudahkan kita untuk melakukan animasi opasitas. Berikut langkah-langkahnya: Membuat box untuk efek fade in dan out. Mendefinisikan StatefulWidget. Membuat tombol untuk mengubah visibilatas. Memberikan efek fade in dan out pada box. 1. Membuat box untuk efek fade in dan out Langkah pertama yaitu membuat sesuatu untuk dapat diberi efek fade in dan out. Sebagai contoh, buat box hijau pada halam layar. Container( width: 200.0, height: 200.0, color: Colors.green, ); 2. Mendefinisikan StatefulWidget Sekarang setelah kita sudah memiliki box hijau untuk dianimasikan, lalu kita memerlukan cara untuk mengetahui apakah kotak tersebut harus terlihat. Untuk mencapai hal tersebut, gunakan StatefulWidget. StatefulWidget merupakan class yang membuat objek State . Objek State sendiri menyimpan beberapa data tentang aplikasi dan menyediakan cara untuk mengupdate data tersebut. Saat memperbarui data, kita juga dapat meminta Flutter untuk membuat ulang UI dengan perubahan tersebut. Dalam kasus ini, kita memiliki satu bagian data dan jenisnya boolean pada tombol yang akan berfungsi untuk menentukan apakah box tersebut harus terlihat atau tidak. Untuk membuat StatefulWidget, buat dua class: StatefulWidget dan kelas State yang sesuai. Tips: Plugin Flutter untuk Android Studio dan VSCode menyertakan jalan pintas “stful” untuk membuat kode ini dengan cepat. // The StatefulWidget's job is to take data and create a State class. // In this case, the widget takes a title, and creates a _MyHomePageState. class MyHomePage extends StatefulWidget { final String title; MyHomePage({Key key, this.title}) : super(key: key); @override _MyHomePageState createState() => _MyHomePageState(); } // The State class is responsible for two things: holding some data you can // update and building the UI using that data. class _MyHomePageState extends State<MyHomePage> { // Whether the green box should be visible. bool _visible = true; @override Widget build(BuildContext context) { // The green box goes here with some other Widgets. } } 3. Membuat tombol untuk mengubah visibilatas Sekarang setelah kita memiliki beberapa data untuk menentukan apakah kotak hijau harus terlihat atau tidak, kita memerlukan cara untuk memperbarui data tersebut. Dalam contoh ini, jika kotak terlihat, sembunyikan ➡ Jika kotaknya tersembunyi, tunjukkan. Untuk menangani hal ini, kita harus membuat sebuah tombol. Sehingga saat pengguna menekan tombol, ubah boolean dari true ke false, atau false ke true. Kita dapat lakukan perubahan ini menggunakan setState(), yang merupakan method pada classState dan memiliki fungsi untuk memberi tahu Flutter untuk melakukan rebuild widget yang ada. Untuk informasi lebih lanjut tentang bagaimana cara kerja dengan input pengguna, dapat dilihat ➡ Gestures. FloatingActionButton( onPressed: () { // Call setState. This tells Flutter to rebuild the // UI with the changes. setState(() { _visible = !_visible; }); }, tooltip: 'Toggle Opacity', child: Icon(Icons.flip), ); 4. Memberikan efek fade in dan out pada box Setelah memiliki box hijau di layar dan tombol untuk mengubah visibilitas menjadi terlihat true or false. Langkah selanjutnya dengan widget AnimatedOpacity kita dapat memberikan efek fade in dan out pada box tersebut. Widget AnimatedOpacity sendiri membutuhkan tiga argumen utama, yaitu: opacity: Nilai dari 0,0 (tidak terlihat) hingga 1,0 (terlihat sepenuhnya). duration: Berapa lama waktu yang dibutuhkan untuk menyelesaikan animasi. child: Widget untuk beranimasi. Dalam hal ini, box hijau menggunakan Container yang menggunakan properti width dan height. Berikut cuplikan kode dan simulasinya, jika teman-teman menggunakan VSCode jalankan projectnya dengan menekan F5, klik hot reload (⚡) atau klik tombol ▶, maka berikut hasil akhirnya (Klik tombol Icon.flip): Jika ada pertanyaan silahkan komen dan jika artikel ini dirasa bermanfaat, jangan lupa like dan sharenya ya teman-teman. ??????? Sampai bertemu di artikel selanjutnya. Terima Kasih, Assalamu’alaykum… Salam KODINGINDONESIA Referensi : https://flutter.dev// TAGS :android Flutter mobile android mobile apps Share This Articles Share this article
ESP32 Modul 3 – Menjelajahi Deep Sleep ESP32 (3/4) by Anton Prafanto 4 months ago 0 ESP32 dapat dibangunkan dari mode tidur dalam dengan menyentuh pin tertentu, memungkinkan interaksi...
ESP32 Modul 3 – Menjelajahi Deep Sleep ESP32 (2/4) by Anton Prafanto 4 months ago 0 ESP32 dapat bangun dari mode tidur dalam pada interval waktu tertentu, memungkinkan proyek...
ESP32 Modul 3 – Menjelajahi Deep Sleep ESP32 (1/4) by Anton Prafanto 4 months ago 0 ESP32 memiliki fitur mode tidur dalam (deep sleep) yang dapat mengurangi konsumsi daya...