Flutterdə animasiyalar | flutter_animate paketi

Flutterdə animasiyalar | flutter_animate paketi

 Mobil tətbiqə gözəllik verən amillərdən birincisi onun dizaynıdırsa, ikincisi isə onda olan animasiyalardır. Hamı razlışalar ki, tətbiqdə bütün elementlər "quru-quru" qalmaqdansa hər hansı bir animasiya ilə gəlsə daha yaxşı görünər. 

Flutter ilə animasiyaları bir neçə qayda ilə paket yükləmədən qoşmaq olar, məsələn hazır widgetlər (AnimatedContainer, AnimatedCrossFade və s.). Animasiyaları rahat şəkildə qoşmaq üçün biz bu məqalədə flutter_animate paketindən danışacayıq. 

Aşağıda sadə Container blokunu göstərən səhifəni nəzərdə keçirək.

class MyPage extends StatelessWidget {
  const MyPage({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('flutter_animate | Package blog'),
        centerTitle: true,
      ),
      body: Center(
        child: Container(
          width: 150,
          height: 150,
          decoration: BoxDecoration(
            color: Colors.red,
            borderRadius: BorderRadius.circular(14)
          ),
        ),
      ),
    );
  }
}

 

Şəkildə göründüyü kimi səhifənin ortasında qırmızı container və heç bir animasiya yoxdur. İndi isə flutter_animate paketində istifadə edərək səhifə açılanda qırmızı container-in animasiya ilə gəlməsinin edək. Bunun üçün ilk olaraq flutter_animate paketini yükləyək.


flutter pub add flutter_animate

Paketi əlavə etdikdən sonra kodda düzəlişlər edək.

Nəticədə kod aşağıdakı kimi görünəcək.

 


class MyPage extends StatelessWidget {
	const MyPage({super.key});

	@override
	Widget build(BuildContext context) {
		return Scaffold(
		  appBar: AppBar(
		    title: const Text('flutter_animate | Package blog'),
		    centerTitle: true,
		  ),
		  body: Center(
		    child: Container(
		      width: 150,
		      height: 150,
		      decoration: BoxDecoration(
		        color: Colors.red,
		        borderRadius: BorderRadius.circular(14)
		      ),
		    ).animate().fadeIn(duration: 500.ms).slideX(duration: 700.ms, curve: Curves.easeInCubic),
		  ),
		);
	}
}

 

video_2024-02-06_11-40-39.mp4 [video-to-gif output image]

Burada biz Container widgetə .animate().fadeIn(duration: 500.ms).slideX(duration: 700.ms, curve: Curves.easeInCubic) əlavə etdik. .animate() animasiyanın parametlərini verir, fadeİn() bizim widgetin yavaş-yavaş görünən etməsini (opacity 0-dan 1-ə gələrək) və slideX() x oxu üzrə onun soldan sağa gəlməsini göstərir. Əlavə olaraq duration verdik ki, animasiyanı rahat şəkildə görə bilək. Mobil tətbiqi real olara yığdığınız zaman bu rəqəmləri qoymaya və ya uyğun şəkildə qoya bilərsiniz.

Nəticə budur.

Daha ətraflı aşağıdakı videoda baxa bilərsiniz

 

Scorpion IT Company SCORPION IT COMPANY Scorpion IT Company SCORPION IT COMPANY Scorpion IT Company SCORPION IT COMPANY Scorpion IT Company SCORPION IT COMPANY Scorpion IT Company SCORPION IT COMPANY Scorpion IT Company SCORPION IT COMPANY Scorpion IT Company SCORPION IT COMPANY Scorpion IT Company SCORPION IT COMPANY Scorpion IT Company SCORPION IT COMPANY Scorpion IT Company SCORPION IT COMPANY Scorpion IT Company SCORPION IT COMPANY