Animasyon kaynakları
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Bir animasyon kaynağı, iki animasyon türünden birini tanımlayabilir:
- Mülk animasyonu
- Belirli bir dönemde nesnenin özellik değerlerini değiştirerek animasyon oluşturur
Animator
ile.
- Animasyonu göster
-
Animasyon görüntüleme çerçevesiyle yapabileceğiniz iki tür animasyon vardır:
Mülk animasyonu
XML'de tanımlanmış ve hedef nesnenin özelliklerini değiştiren bir animasyon. Örneğin:
arka plan rengini veya alfa değerini belirli bir süre boyunca değiştirebilirsiniz.
- dosya konumu:
res/animator/filename.xml
Dosya adı, kaynak kimliği olarak kullanılır.
- derlenen kaynak veri türü:
- Kaynak işaretçisi bir
ValueAnimator
, ObjectAnimator
,
veya AnimatorSet
- kaynak referansı:
- .
Java tabanlı veya Kotlin kodunda:
R.animator.filename
XML'de: @[package:]animator/filename
- söz dizimi:
-
<set
android:ordering=["together" | "sequentially"]>
<objectAnimator
android:propertyName="string"
android:duration="int"
android:valueFrom="float | int | color"
android:valueTo="float | int | color"
android:startOffset="int"
android:repeatCount="int"
android:repeatMode=["restart" | "reverse"]
android:valueType=["intType" | "floatType"]/>
<animator
android:duration="int"
android:valueFrom="float | int | color"
android:valueTo="float | int | color"
android:startOffset="int"
android:repeatCount="int"
android:repeatMode=["restart" | "reverse"]
android:valueType=["intType" | "floatType"]/>
<set>
...
Dosyanın tek bir kök öğesi olmalıdır:
,
veya
. Şunları yapabilirsiniz:
animasyon öğelerini
öğesinin içinde gruplayın (diğer dahil olmak üzere)
öğeleri.
- öğeler:
-
- Diğer animasyon öğelerini (
,
veya diğer
öğeleri). Temsil ettikleri
AnimatorSet
.
İç içe yerleştirilmiş
etiketlerini belirtebilirsiniz.
grup animasyonları. Her
kendi değerini tanımlayabilir
ordering
özelliği için de geçerlidir.
Özellikler:
-
android:ordering
- .
Anahtar kelime. Bu gruptaki animasyonların oynatma sıralamasını belirtir.
Değer | Açıklama |
sequentially | Bu kümedeki animasyonları sırayla oynatın. |
together (varsayılan) | Bu gruptaki animasyonları aynı anda oynat. |
- Bir nesnenin belirli bir özelliğini belirli bir süre boyunca canlandırıyor. Temsil ettikleri
ObjectAnimator
.
Özellikler:
-
android:propertyName
- .
Dize. Zorunludur. Nesnenin, adında atıfta bulunulan animasyon özelliği. Örneğin,
View
nesnesi için "alpha"
veya "backgroundColor"
.
objectAnimator
öğesi, target
göstermiyor
özelliğini kullanın. Bu nedenle, nesneyi XML bildiriminde animasyon içerecek şekilde ayarlayamazsınız. Şunları yapmanız gerekir:
loadAnimator()
yöntemini çağırarak animasyon XML kaynağınızı şişirin ve ayarlamak için setTarget()
yöntemini çağırın
bu özelliği içeren hedef nesne.
-
android:valueTo
- .
kayan, int veya renk. Zorunludur. Animasyonlu özelliğin sona erdiği değer. Renkler temsil ediliyor
altı basamaklı onaltılık sayılar olarak ifade edilir (ör. #333333).
-
android:valueFrom
- .
kayan, int veya renk. Animasyonlu özelliğin başladığı değer. Değilse
belirtildiğinde, animasyon, mülkün
get
yöntemi tarafından elde edilen değerde başlar. Renkler temsil ediliyor
altı basamaklı onaltılık sayılar olarak ifade edilir (ör. #333333).
-
android:duration
- .
int. Animasyonun milisaniye cinsinden süresi. Varsayılan değer 300 milisaniyedir.
-
android:startOffset
- .
int. Animasyonun geciktiği milisaniye cinsinden süre
start()
çağrıldı.
-
android:repeatCount
- .
int. Bir animasyonun kaç kez tekrarlanacağı. Sonsuz olarak
"-1"
değerine ayarlandı
pozitif bir tam sayıya yapılır. Örneğin, "1"
değeri, animasyonun
animasyon ilk çalıştırıldıktan sonra bir kez tekrarlandığından, animasyon toplam
değer katıyor. "0"
, varsayılan değer olduğu için tekrara izin verilmiyor.
-
android:repeatMode
- .
int. Animasyonun sonuna gelindiğinde animasyonun nasıl davrandığı.
android:repeatCount
.
bu özelliğin etkili olabilmesi için pozitif bir tam sayı veya "-1"
değerine ayarlanması gerekir. "reverse"
olarak ayarla
animasyonun her iterasyonda ters yönünü veya animasyonu kullanmak için "restart"
bir döngü oluşturabilirsiniz.
-
android:valueType
- .
Anahtar kelime. Değer bir renkse bu özelliği belirtmeyin. Animasyon çerçevesi, renkleri otomatik olarak işler
değerler.
Değer | Açıklama |
intType | Animasyonlu değerlerin tam sayı olduğunu belirtir. |
floatType (varsayılan) | Animasyonlu değerlerin kayan öğe olduğunu belirtir. |
- Belirli bir süre boyunca animasyon gerçekleştirir.
ValueAnimator
temsil eder.
Özellikler:
-
android:valueTo
- .
kayan, int veya renk. Zorunludur. Animasyonun sona erdiği değer. Renkler temsil ediliyor
altı basamaklı onaltılık sayılar olarak ifade edilir (ör. #333333).
-
android:valueFrom
- .
kayan, int veya renk. Zorunludur. Animasyonun başladığı değer. Renkler temsil ediliyor
altı basamaklı onaltılık sayılar olarak ifade edilir (ör. #333333).
-
android:duration
- .
int. Animasyonun milisaniye cinsinden süresi. Varsayılan değer 300 ms'dir.
-
android:startOffset
- .
int. Animasyonun geciktiği milisaniye cinsinden süre
start()
çağrıldı.
-
android:repeatCount
- .
int. Bir animasyonun kaç kez tekrarlanacağı. Sonsuz olarak
"-1"
değerine ayarlandı
pozitif bir tam sayıya yapılır. Örneğin, "1"
değeri, animasyonun
animasyon ilk çalıştırıldıktan sonra bir kez tekrarlandığından, animasyon toplam
değer katıyor. "0"
, varsayılan değer olduğu için tekrara izin verilmiyor.
-
android:repeatMode
- .
int. Animasyonun sonuna gelindiğinde animasyonun nasıl davrandığı.
android:repeatCount
.
bu özelliğin etkili olabilmesi için pozitif bir tam sayı veya "-1"
değerine ayarlanması gerekir. "reverse"
olarak ayarla
animasyonun her iterasyonda ters yönünü veya animasyonu kullanmak için "restart"
bir döngü oluşturabilirsiniz.
-
android:valueType
- .
Anahtar kelime. Değer bir renkse bu özelliği belirtmeyin. Animasyon çerçevesi, renkleri otomatik olarak işler
değerler.
Değer | Açıklama |
intType | Animasyonlu değerlerin tam sayı olduğunu belirtir. |
floatType (varsayılan) | Animasyonlu değerlerin kayan öğe olduğunu belirtir. |
- örnek:
-
res/animator/property_animator.xml
itibarıyla kaydedilen XML dosyası:
Bu animasyonu çalıştırmak için koddaki XML kaynaklarını bir AnimatorSet
nesnesine şişirin ve ardından tüm animasyonlar için hedef nesneleri ayarlayın.
. setTarget()
çağrısı yapıldığında, kolaylık sağlamak amacıyla AnimatorSet
öğesinin tüm alt öğeleri için tek bir hedef nesne ayarlanır. Aşağıdaki kodda bunun nasıl yapılacağı gösterilmektedir:
Kotlin
val set: AnimatorSet = AnimatorInflater.loadAnimator(myContext, R.animator.property_animator)
.apply {
setTarget(myObject)
start()
}
Java
AnimatorSet set = (AnimatorSet) AnimatorInflater.loadAnimator(myContext,
R.animator.property_animator);
set.setTarget(myObject);
set.start();
- ayrıca bkz.:
-
Animasyonu görüntüle
Görüntüleme animasyonu çerçevesi, her ikisi de bildirilen iki kare arası ve kare kare animasyonların her ikisini de destekler
oluşturun. Aşağıdaki bölümlerde her iki yöntemin de nasıl kullanılacağı açıklanmaktadır.
9-12 yaş animasyonu
XML'de tanımlanmış ve bir grafik üzerinde döndürme,
kaybolma, hareket etme ve esneme.
- dosya konumu:
res/anim/filename.xml
Dosya adı, kaynak kimliği olarak kullanılır.
- derlenen kaynak veri türü:
- Kaynak işaretçisini bir
Animation
- kaynak referansı:
- .
Java'da:
R.anim.filename
XML'de: @[package:]anim/filename
- söz dizimi:
-
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@[package:]anim/interpolator_resource"
android:shareInterpolator=["true" | "false"] >
<alpha
android:fromAlpha="float"
android:toAlpha="float" />
<scale
android:fromXScale="float"
android:toXScale="float"
android:fromYScale="float"
android:toYScale="float"
android:pivotX="float"
android:pivotY="float" />
<translate
android:fromXDelta="float"
android:toXDelta="float"
android:fromYDelta="float"
android:toYDelta="float" />
<rotate
android:fromDegrees="float"
android:toDegrees="float"
android:pivotX="float"
android:pivotY="float" />
<set>
...
Dosyanın tek bir kök öğesi olmalıdır:
,
,
,
Şu öğeyi içeren
veya
öğesi
diğer animasyon öğelerinin (iç içe yerleştirilmiş
öğeleri dahil) bir grubu (veya grupları).
- öğeler:
-
- Diğer animasyon öğelerini barındıran bir kapsayıcı
(
,
,
,
) veya başka
öğeleri. AnimationSet
temsil eder.
Özellikler:
android:interpolator
- Interpolator kaynağı.
Animasyona uygulanacak
Interpolator
.
Bu değer, arapolatör belirten bir kaynağa başvuru olmalıdır.
sınıf adı olmamalıdır. Varsayılan interpolator vardır.
kaynak kullanabilir veya kendi interpolator kaynağınızı oluşturabilirsiniz.
İnterpolatörler hakkında daha fazla bilgi için aşağıdaki tartışmaya göz atın.
android:shareInterpolator
- Boole. Tüm çocuklar arasında aynı interpolatörü paylaşmak istiyorsanız
"true"
öğeler.
- Kararma veya kararma animasyonu.
AlphaAnimation
temsil eder.
Özellikler:
android:fromAlpha
- Kayan. Başlangıç opaklık ofseti (0,0 şeffaf ve 1,0 anlamına gelir)
opak olacaktır.
android:toAlpha
- Kayan. Bitiş opaklık ofseti (0,0 şeffaf ve 1,0 anlamına gelir)
opak olacaktır.
tarafından desteklenen diğer özellikler için şu sınıf referansına bakın:
XML özellikleri bu öğe tarafından devralınan Animation
.
- Yeniden boyutlandırma animasyonu. Resmin büyüyeceği merkez noktasını belirtebilirsiniz
pivotX
ve pivotY
belirterek dışa veya içe doğru kaydırabilirsiniz. Örneğin, bu değerler
0,0 (sol üst köşe) olduğu için tüm büyüme aşağıya ve sağa doğrudur. ScaleAnimation
temsil eder.
Özellikler:
android:fromXScale
- Kayan. Başlangıç X boyutu ofseti (1, 0 için bir değişiklik yoktur).
android:toXScale
- Kayan. Bitiş X boyutu ofseti (1, 0 için bir değişiklik yoktur).
android:fromYScale
- Kayan. Başlangıç Y boyutu ofseti (1, 0 için geçerli değildir).
android:toYScale
- Kayan. Son olarak Y boyutu ofseti (1, 0 için geçerli değildir).
android:pivotX
- Kayan. Nesne ölçeklendirildiğinde sabit kalacak X koordinatı.
android:pivotY
- Kayan. Nesne ölçeklendirildiğinde sabit kalacak Y koordinatı.
tarafından desteklenen diğer özellikler için şu sınıf referansına bakın:
XML özellikleri bu öğe tarafından devralınan Animation
.
- Dikey ve/veya yatay hareket. Bir temsil eder
TranslateAnimation
Şu üç biçimden herhangi birinde, aşağıdaki özellikleri destekler:
- Yüzde anlamına gelen "%" ile biten -100 ile 100 arasındaki değerler
sahip olması gerekir.
- "%p" ile biten -100 ile 100 arasındaki değerler;
üst öğesidir.
- Son eki olmayan, mutlak değeri gösteren bir kayan değer.
Özellikler:
android:fromXDelta
- Kayanlık veya yüzde. Başlangıç X ofseti. Göreli piksel cinsinden ifade edilir
normal konuma (örneğin,
"5"
); öğe genişliğine göre yüzde olarak (örneğin,
"5%"
; veya "5%p"
örneğinde olduğu gibi üst genişliğe göre yüzdelik olarak ifade eder.
android:toXDelta
- Kayanlık veya yüzde. Bitiş X ofseti. Göreli piksel cinsinden ifade edilir
normal konuma (örneğin,
"5"
); öğe genişliğine göre yüzde olarak (örneğin,
"5%"
; veya "5%p"
örneğinde olduğu gibi üst genişliğe göre yüzdelik olarak ifade eder.
android:fromYDelta
- Kayanlık veya yüzde. Başlangıç Y ofseti. Göreli piksel cinsinden ifade edilir
normal konuma (örneğin,
"5"
); öğe yüksekliğine göre yüzde olarak (örneğin,
"5%"
; veya "5%p"
örneğinde olduğu gibi üst yüksekliğe göre yüzdelik olarak ifade eder.
android:toYDelta
- Kayanlık veya yüzde. Bitiş Y ofseti. Göreli piksel cinsinden ifade edilir
normal konuma (örneğin,
"5"
); öğe yüksekliğine göre yüzde olarak (örneğin,
"5%"
; veya "5%p"
örneğinde olduğu gibi üst yüksekliğe göre yüzdelik olarak ifade eder.
tarafından desteklenen diğer özellikler için şu sınıf referansına bakın:
XML özellikleri bu öğe tarafından devralınan Animation
.
- Rotasyon animasyonu.
RotateAnimation
temsil eder.
Özellikler:
android:fromDegrees
- Kayan. Derece cinsinden başlangıç açısal konumu.
android:toDegrees
- Kayan. Bitiş açısal konumu (derece cinsinden).
android:pivotX
- Kayanlık veya yüzde. Dönme merkezinin X koordinatı. İfade
veya
"5"
gibi nesnenin sol kenarına göre piksel cinsinden; göreceli olarak yüzde
nesnenin sol kenarına, örneğin "5%"
; üst değere göre yüzdelik olarak
kapsayıcının sol kenarına ("5%p"
örneğinde) dokunun.
android:pivotY
- Kayanlık veya yüzde. Dönme merkezinin Y koordinatı. İfade
nesnenin üst kenarına göre piksel cinsinden (örneğin,
"5"
); göreceli olarak yüzde
nesnenin üst kenarına, örneğin "5%"
; üst değere göre yüzdelik olarak
kapsayıcının üst kenarına ("5%p"
gibi) dokunun.
tarafından desteklenen diğer özellikler için şu sınıf referansına bakın:
XML özellikleri bu öğe tarafından devralınan Animation
.
- örnek:
-
res/anim/hyperspace_jump.xml
itibarıyla kaydedilen XML dosyası:
Aşağıdaki uygulama kodu, animasyonu bir ImageView
ve
animasyonu başlatır:
Kotlin
val image: ImageView = findViewById(R.id.image)
val hyperspaceJump: Animation = AnimationUtils.loadAnimation
(this, R.anim.hyperspace_jump)
image.startAnimation
(hyperspaceJump)
Java
ImageView image = (ImageView) findViewById(R.id.image);
Animation hyperspaceJump = AnimationUtils.loadAnimation
(this, R.anim.hyperspace_jump);
image.startAnimation
(hyperspaceJump);
- ayrıca bkz.:
-
İnterpolatörler
Ara değer, XML'de tanımlanan ve bir öğenin değişim hızını etkileyen,
animasyon ekler. Bu, mevcut animasyon efektlerinizin hızlandırılmasını, yavaşlatılmasını, tekrarlanmasını,
geri döndü vb.
Ara değer, android:interpolator
içeren animasyon öğesine uygulanır.
özelliğinin değeri.
Android'de kullanılabilen tüm interpolatörler Interpolator
sınıfının alt sınıflarıdır. Her interpolator sınıfı için Android
Bir animasyona interpolator uygulamak için başvurabileceğiniz bir ortak kaynak içerir
(android:interpolator
özelliği) kullanabilirsiniz.
Aşağıdaki tabloda her interpolator için kullanılacak kaynak belirtilmiştir:
Bunlardan birini android:interpolator
özelliğiyle nasıl uygulayabileceğiniz aşağıda açıklanmıştır:
...
Özel arapolatörler
Platformun sağladığı interpolatörlerden memnun kalmazsanız değiştirilmiş özelliklere sahip özel bir interpolator kaynağı oluşturabilirsiniz.
Örneğin, reklamlarınızın yayınlanma oranını
AnticipateInterpolator
için ivmelenme veya
CycleInterpolator
döngüleri. Bunun için,
XML dosyasında kendi interpolator kaynağınızı oluşturun.
- dosya konumu:
res/anim/filename.xml
Dosya adı, kaynak kimliği olarak kullanılır.
- derlenen kaynak veri türü:
- İlgili interpolator nesnesine yönelik kaynak işaretçisi
- kaynak referansı:
- .
XML'de:
@[package:]anim/filename
- söz dizimi:
-
<InterpolatorName xmlns:android="http://schemas.android.com/apk/res/android"
android:attribute_name="value"
/>
Herhangi bir özellik uygulamazsanız interpolator'unuz tam olarak
Platform tarafından sağlananlar (önceki tabloda listelenenler)
- öğeler:
- Her
Interpolator
uygulamasında,
XML'de tanımlandığı şekilde, küçük harfle başlayan bir ada sahiptir.
- Değişim hızı yavaş başlar ve biter ancak
orta.
Özellik yok.
- Değişim hızı yavaş başlar ve sonra hızla artar.
Özellikler:
android:factor
- Kayan. Hızlanma hızı. Varsayılan değer 1'dir.
- Değişiklikte geriye dönük olarak başlayıp ileriye atılır.
Özellikler:
android:tension
- Kayan. Uygulanacak gerilim miktarı. Varsayılan değer 2'dir.
- Değişim geriye doğru başlar, ardından ileriye uzanır ve hedef değeri aşmaktadır.
nihai değerde bulunur.
Özellikler:
android:tension
- Kayan. Uygulanacak gerilim miktarı. Varsayılan değer 2'dir.
android:extraTension
- Kayan. Gerilimin çarpılacağı miktar. Varsayılan değer
1.5.
- Sonda değişiklik geri döner.
Özellik yok
- Animasyonu belirli sayıda döngü için tekrarlar. Değişim oranı,
sinüsoidal desen.
Özellikler:
android:cycles
- Tamsayı. Döngü sayısı. Varsayılan değer 1'dir.
- Değişim hızı hızlı başlar ve sonra yavaşlar.
Özellikler:
android:factor
- Kayan. Yavaşlama oranı. Varsayılan değer 1'dir.
- Değişim hızı sabittir.
Özellik yok.
- Değişim aniden ileri gidip son değeri aşıyor ve sonra geri geliyor.
Özellikler:
android:tension
- Kayan. Uygulanacak gerilim miktarı. Varsayılan değer 2'dir.
- örnek:
-
res/anim/my_overshoot_interpolator.xml
itibarıyla kaydedilen XML dosyası:
Bu animasyon XML'i, interpolator'ı uygular:
Animasyon karesi
XML olarak tanımlanmış ve film gibi bir dizi resmi gösteren animasyon.
- dosya konumu:
res/drawable/filename.xml
Dosya adı, kaynak kimliği olarak kullanılır.
- derlenen kaynak veri türü:
- Kaynak işaretçisini bir
AnimationDrawable
- kaynak referansı:
- .
Java'da:
R.drawable.filename
XML'de: @[package:]drawable.filename
- söz dizimi:
-
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot=["true" | "false"] >
<item
android:drawable="@[package:]drawable/drawable_resource_name"
android:duration="integer" />
- öğeler:
-
- Zorunlu. Bu, kök öğe olmalıdır. Bir veya daha fazla öğe içerir
öğeleri.
Özellikler:
android:oneshot
- Boole. Animasyonu bir kez gerçekleştirmek isterseniz
"true"
; Şu döngüyü yapmak için "false"
:
animasyon ekler.
- Tek bir animasyon karesi Bir
öğesinin alt öğesi olmalıdır.
Özellikler:
android:drawable
- Çekilebilir kaynak. Bu çerçeve için kullanılacak çekilebilir.
android:duration
- Tamsayı. Bu karenin gösterileceği süre (milisaniye cinsinden).
- örnek:
-
res/drawable/rocket_thrust.xml
itibarıyla kaydedilen XML dosyası:
Aşağıdaki uygulama kodu, animasyonu View
için arka plan olarak ayarlar
animasyonu oynatın:
Java
ImageView rocketImage = (ImageView) findViewById(R.id.rocket_image);
rocketImage.setBackgroundResource
(R.drawable.rocket_thrust);
rocketAnimation = rocketImage.getBackground()
;
if (rocketAnimation instanceof Animatable
) {
((Animatable)rocketAnimation).start()
;
}
- ayrıca bkz.:
-