Yapay zekadan makale özeti
- Kısa
- Ayrıntılı
- Bu video, bir eğitmen tarafından sunulan Flutter programlama dilinde animasyonlar ve grafik çizimi konularını anlatan kapsamlı bir eğitim içeriğidir.
- Video, üç ana bölümden oluşmaktadır: İlk bölümde Flutter'da animasyonların nasıl oluşturulacağı, AnimatedContainer, AnimatePosition, AnimateTextStyle gibi widget'ların kullanımı ve AnimationController, Tween gibi sınıfların animasyon kontrolü için nasıl kullanılacağı anlatılmaktadır. İkinci bölümde animasyonların kontrol edilmesi, animasyon durumlarının takip edilmesi ve animasyonların tekrarlanması konuları ele alınmaktadır. Son bölümde ise custom painter kullanarak rectangle, circle, path painter ve kalp gibi çeşitli geometrik şekillerin çizimi gösterilmektedir.
- Eğitim, Flutter uygulamalarında kullanıcı deneyimini geliştirmek isteyenler için opacity, color, border radius, margin gibi özelliklerin animasyonla nasıl değiştirilebileceğini, animasyonlu logo oluşturma, büyüme-küçülme efektleri ve gölge ekleme gibi pratik uygulamaları içermektedir. Ayrıca Simülasyon Plus kullanımı gibi gerçek dünya modellemesi için teknikler de gösterilmektedir.
- 00:05Flutter'da Animasyonların Önemi
- Animasyonlar uygulamada geribilimler verebilir, butonlara basıldığında çıkan efektler ve ekrandaki değişiklikleri belirtebilir.
- Animasyonlar kullanıcıyı yönlendirebilir ve bir sonraki adıma geçiş için ipucu verebilir.
- Animasyon kullanmanın en kolay yolu idrations kullanmaktır, bu sadece başına enerji kullanabileceğiniz widgetlar içerir.
- 01:28Opacity Animasyonu Örneği
- Flutter'ın logo widget'ı ve bir buton kullanılarak opacity level widget'ı sıfırdan bire çekiliyor ve belli bir animasyon ile geliyor.
- Opacity level widget'ı butona basıldığında sıfırdan bire çekiliyor ve iki saniyede belirli bir curve'e geçiyor.
- Curve, animasyonun sıfırdan bire üretirken süreyi nasıl kullanacağını belirten bir yapıdır.
- 02:52Animated Konteyner Örneği
- Butona her bastığımızda konteynerın rengi, kenarlarındaki border radius ve size değişebiliyor.
- State başladığında renk mora, radius ve margin rastgele değerlere eşitleniyor.
- Butona basıldığında change fonksiyonu çağrılıyor ve random kütüphanesinden gelen random sınıfı kullanılarak rastgele sayılar üretiliyor.
- 04:38Position Animasyonu Örneği
- Position widget'ını kullanmak için stack widget'e ihtiyaç vardır.
- Flutter logosu animate position widget'ın içinde ve stack içinde yer alıyor.
- Butona her bastığımızda right ve top değerleri artı yedi ile toplanıp, logo sol aşağı doğru kayıyor.
- 05:39Animator Default Text Style Örneği
- Animator default text style, iki text arasında animasyona geçiş yapıyor.
- Animate the fault text'in içinde curve ve duration değerleri bulunuyor.
- Operatör sayesinde true ise ilk stili, false ise ikinci stili gösteriyor.
- 06:36Animasyon Kontrolü
- Animasyon üzerinde daha fazla kontrol için animation ve animation controller sınıflarını tanımanız gerekiyor.
- Animation sadece animasyonun değerini ve durumunu değiştirir, ekranda ne olduğu hakkında fikri yoktur.
- Animation controller, animasyonun değerini kontrol etmek için özel metoları olan bir sınıftır.
- 08:16Tilt ve Tilt Robbie Kullanımı
- Tilt sınıfı, gelen sayıları yeni değerlere denk gelen şekilde vermek için kullanılır.
- Tilt Robbie sadece başlangıç ve bitiş değerleri için kullanılır.
- Animasyon controller objeleri widget'ın içinde animasyona atanabilir.
- 09:50Animasyon Örneği Oluşturma
- Animasyon controller'ı duration ve ekranın durumunu takip etmek için gerekli argümanlarla oluşturulur.
- Tilt objesi kullanılarak 200'den 400'e kadar skler üreten bir animasyon oluşturulur.
- Animasyon controller'a forward diyerek animasyon başlatılır ve konteynerın yüksekliği ve genişliği animasyonun o anki değerine eşit olur.
- 13:06Animasyon Kontrolü
- Animasyonun tekrarlanmasını engellemek için sınır eklenebilir.
- Animasyonun durumunu kontrol eden bir sinir kullanılarak, animasyon tamamlandığında (durum 4) geri gitmesi sağlanabilir.
- Animasyon tekrar başladığı yere döndüğünde (durum "dismiss") animasyonun tekrar oynaması sağlanabilir.
- 15:01Animasyonlu Logo ve Widget Oluşturma
- Animasyonlu logo başka yerlerde kullanılabilmesi için ayrı bir liste oluşturulabilir.
- Animate logo olarak ayrı bir widget oluşturulabilir ve bu widget animasyon değişikliklerini izleyebilir.
- Animasyonlu logo dışarı çıkarıldıktan sonra büyüme efekti de dışarı çıkarılabilir.
- 16:24Animated Builder Kullanımı
- Animasyonla build etmek için animated builder ve viewaget kullanılabilir.
- Grow effect widget'ı animasyon ve child widget alabilir.
- Animasyon olarak hazırlanan animasyon kullanılarak konteynerin boyu ve genişliği değişebilir.
- 19:48Opaklık ve Boyut Değişimi
- Animasyon sırasında opaklık değeri değiştirilebilir.
- Opacity twin'i 0 ile 1 arasında değerler alabilir, 1 tam görünür, 0 ile tam görünmez.
- Size twin'i 200 ile 1400 arasında değerler alabilir.
- 23:10Simülasyon Plus ile Animasyon
- Flutter'da simülasyon plus kullanılarak gerçek dünya ile animasyonlar modelleyebilir.
- Yer çekimi simülasyonu için stack'ların top değeri animasyonun değerine göre ayarlanabilir.
- Spring simülasyonu için spring description kullanılarak sertlik ve sürtünme kuvveti gibi parametreler belirlenebilir.
- 26:47Animasyon Kontrolü ve Özel Çizim
- Animasyon kontrolü ile animasyon durdurulabilir ve devam ettirilebilir.
- Animasyon değerleri kaydırılırken animasyonun büyümesi sağlanabilir.
- Özel çizim için custom painter ve paint objesi kullanılabilir, custom painter çizim sergileyen bir sergeci gibi düşünülebilir.
- 29:16Konteyner ve Custom Painter Kullanımı
- 500x500'lük bir konteyner altında 300x300'lük bir custom painter sitesi bulunuyor.
- Custom painter'dan Molex gönderildiğinde paint ve should paint metodlarının overwad edilmesi isteniyor.
- Should paint metodunda tekrar çizme parametresi false olarak ayarlanarak tüm çizim söndürülüyor.
- 30:18Paint Objesi ve Çizim Operatörleri
- Paint objesi yaratılıp konfigüre ediliyor ve operatör kullanılarak zincirleme şeklinde çizim yapılıyor.
- Rectangle çizmek için draw rectangle metodu kullanılıyor ve left, top, width ve height değerleri alınıyor.
- Rounded rectangle metodu ile köşeli, kıvrımlı şekiller çizilebiliyor.
- 32:18Daire Çizimi
- Daire çizmek için draw circle metodu kullanılıyor ve üç farklı daire çiziliyor.
- Dairelerin merkezi (offset) ve yarıçapı (radius) belirleniyor.
- Dairelerin renkleri ve yarıçapları ayarlanarak farklı görünümler elde ediliyor.
- 34:22Path Painter Kullanımı
- Path painter, kompleks şekiller çizmek için kullanılıyor ve path painter class'ı custom painter'dan geliyor.
- Path painter'da içi boş ve stroke (çizgi kalınlığı) özellikleri bulunuyor.
- Path painter ile Bézier eğrileri kullanılarak kıvrımlı çizgiler çizilebiliyor.
- 36:37Materyal ve Kalp Çizimi
- Materyal winch'i, canvas'ın üzerine gölge vermek için kullanılıyor ve border radius ayarlanabiliyor.
- Kalp çizmek için paint kırmızı olarak ayarlanıp path painter ile çizim yapılıyor.
- Kalp çiziminde iki kontrol noktası kullanılarak kıvrımlar oluşturuluyor ve drop pet metoduyla çizim tamamlanıyor.