Skip to content
Tutorial emka
Menu
  • Home
  • Debian Linux
  • Ubuntu Linux
  • Red Hat Linux
Menu

Tutorial Flutter: Animasi Blink Pada Teks

Posted on December 12, 2023

Flutter, dengan kerangka UI ekspresifnya, memungkinkan pengembang membuat pengalaman pengguna yang menarik melalui animasi. Dalam posting blog ini, kita akan membongkar sebuah widget Flutter yang disebut TapToScanTicker yang menggabungkan animasi fading in-and-out menggunakan AnimationController dan TweenSequence.

Memahami Widget Flutter

Mari kita mulai dengan memeriksa widget Flutter yang disediakan dalam source code:

class TapToScanTicker extends StatefulWidget {
  const TapToScanTicker({Key? key}) : super(key: key);

  @override
  createState() => _TapToScanTickerState();
}

class _TapToScanTickerState extends State
    with SingleTickerProviderStateMixin {
  late AnimationController _controller;
  late Animation _fadeInOut;

  @override
  void initState() {
    super.initState();

    // Inisialisasi AnimationController
    _controller =
        AnimationController(vsync: this, duration: const Duration(seconds: 2));

    // Buat urutan Tween untuk fading in dan out
    _fadeInOut = TweenSequence([
      TweenSequenceItem(tween: Tween(begin: 0.0, end: 2.0), weight: 2),
      TweenSequenceItem(tween: Tween(begin: 2.0, end: 0.0), weight: 2),
    ]).animate(_controller);

    // Mulai loop animasi
    _controller.repeat(reverse: true);
  }

  @override
  Widget build(BuildContext context) {
    return FadeTransition(
      opacity: _fadeInOut,
      child: Text(
        'Tap to scan'.toUpperCase(),
        style: AppText.b1b?.copyWith(color: AppColors.antiqueRuby),
      ),
    );
  }

  @override
  void dispose() {
    // Dispose AnimationController untuk membebaskan sumber daya
    _controller.dispose();
    super.dispose();
  }
}

Rincian Widget

  • Class TapToScanTicker: Kelas ini adalah stateful widget yang membuat instance dari _TapToScanTickerState.

  • Class _TapToScanTickerState: Kelas state ini memperluas State dan menyertakan SingleTickerProviderStateMixin untuk menyediakan vsync untuk AnimationController.
  • initState: Metode ini menginisialisasi animation controller dan menyiapkan animasi fading in-and-out menggunakan TweenSequence.

  • build: Metode build mengembalikan widget FadeTransition yang menerapkan animasi fading ke widget Text yang menampilkan “Tap to scan”.

  • dispose: Metode dispose dipanggil saat widget dihapus dari pohon widget, memastikan bahwa AnimationController dihancurkan dengan benar untuk membebaskan sumber daya.

  • Inti dari widget ini terletak pada logika animasinya. TweenSequence digunakan untuk mendefinisikan urutan tween, menciptakan transisi yang mulus antara nilai-nilai. Dalam kasus ini, animasinya bergantian antara fading in (opacity meningkat) dan fading out (opacity berkurang).

  • Animasi dikontrol oleh AnimationController yang mengulang urutan secara terbalik, menciptakan efek fading in-and-out yang kontinu.

Integrasi Widget

Untuk mengintegrasikan widget TapToScanTicker ke dalam aplikasi Flutter kalian, cukup masukkan ke dalam pohon widget kalian. Contohnya:

class LayarKalian extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: TapToScanTicker(),
      ),
    );
  }
}

Sekarang, kalian memiliki animasi yang halus namun menarik yang mengundang pengguna untuk “Tap to scan” dalam aplikasi Flutter kalian.

Eksperimen dengan widget ini, ubah durasinya, atau sesuaikan gaya teks untuk mengintegrasikannya secara mulus ke dalam desain aplikasi kalian. Kemampuan animasi Flutter memberikan kemungkinan tak terbatas untuk menciptakan antarmuka pengguna yang menyenangkan.

Selamat mencoba lek!

Recent Posts

  • How to Fix the Subscript Out of Range Error in Microsoft Excel
  • What’s New in Podman 5.8: Quadlet & SQLite Migration Explained
  • Microsoft Fixes Old Windows 10 Bug Affecting Parental Controls
  • OpenVPN 2.7 Released with Multi-Socket Support Explained
  • IPFire Launches Community-Driven DBL for Enhanced Domain Blocking
  •  Windows 11 26H1 Update: Microsoft Announces Tailored Core Versions and Phased Rollout
  • Parrot OS 7.1 Launches with Linux Kernel 6.17: Key Features & Benefits Explained
  • About Ubuntu Security: Why It Feels Restrictive and How to Balance Protection with Freedom
  • 7-Zip version 26 Released with Enhanced ZIP and RAR Handling Explained
  • How to Fix Windows Hello Camera Error
  • How to Fix Windows Hello Error 0x80090010: Resolving Access Denied (NTE_PERM)
  • Mesa 26.0 Released with Major Ray Tracing Boost for Linux Users
  •  Stability Over Speed: Linux Mint Announces Major Shift to 3-Year Release Cycle
  • Linux Mint 2026 Report Shows Massive Donation Growth
  • How to Build a Windows 95 Smart Toaster: A Nostalgic Tech Project
  • Windows 11 February 2026 Patch Tuesday Includes Secure Boot Certificate Update
  • Tails 7.4.2 Released with Critical Kernel Fix
  • GNOME 48.9 Released: Stable Bugfix Update for Linux Users
  • How to Fix OpenGL 2.1 Errors: What You Need to Know
  • pGrok: Personal Ngrok Alternative with Dashboard & HTTP Request Inspect
  • Mastering Remote Access: A Guide to Connecting to VMs via PuTTY and MobaXterm
  • Is the Raspberry Pi Still an Affordable SBC? 2026 Update
  • How to Launch Your Own Cloud Hosting Platform with ClawHost
  • Notepad Remote Code Execution CVE-2026-20841 Explained
  • Crossover 26 Released: New Features for Linux Users
  • Inilah 3 Karakteristik Pembagian Masyarakat Menurut Sibrani yang Bikin Kita Paham Struktur Sosial
  • Inilah Cara Mengatasi Status Bansos Atensi YAPI NTPN Tidak Ditemukan Biar Bantuan Tetap Cair!
  • Cara Mudah Unduh Video DS2Play Tanpa Ribet
  • Apa itu Free Float di Dunia Saham? Ini Artinya
  • Hati-Hati Modus Penipuan Asuransi BCA, Ini Caranya!
  • Prompt AI Menyusun Script Pola Suara Karakter agar Brand Jadi Ikonik
  • Prompt AI untuk Merancang Karakter Brand yang Ikonik
  • Prompt AI Audit Konten Sesuai Karakter Brand
  • Prompt AI Merubah Postingan LinkedIn Jadi Ladang Diskusi dengan ChatGPT
  • Prompt AI: Paksa Algoritma LinkedIn Promosikan Konten Kalian
  • Apa itu Spear-Phishing via npm? Ini Pengertian dan Cara Kerjanya yang Makin Licin
  • Apa Itu Predator Spyware? Ini Pengertian dan Kontroversi Penghapusan Sanksinya
  • Mengenal Apa itu TONESHELL: Backdoor Berbahaya dari Kelompok Mustang Panda
  • Siapa itu Kelompok Hacker Silver Fox?
  • Apa itu CVE-2025-52691 SmarterMail? Celah Keamanan Paling Berbahaya Tahun 2025
©2026 Tutorial emka | Design: Newspaperly WordPress Theme