2010-04-12 13 views
37

Özel geçiş animasyonlu bir aktivite başlatmaya çalışıyorum. Bunu yapmak için şimdiye kadar öğrendiğim tek yol (önceki etkinlikte onPendingTransition() kullanmadan), aktivitede özel bir tema kullanmak ve animasyonu ayarlamak için activityOpenEnterAnimation, taskOpenEnterAnimation, windowEnterAnimation veya windowAnimationStyle öğelerini tanımlamaktır. Ancak, bu özelliklerin hiçbiri benim için çalışmıyor. Ben faaliyetin başlangıcında meydana gelen varsayılan geçiş animasyon kurtulabilirsiniz activityOpenEnterAnimation, taskOpenEnterAnimation, windowEnterAnimation veya windowAnimationStyle değerlerini tanımlayan bazı özel stiline windowAnimationStyle özelliğini ayarlarsanız Bazı deney aşağıdaki sonuçları-Etkinliği bir animasyonla başlatın

vermiştir. Belirtilen gerçek değeri kullanarak geçiş animasyonunu göstermez, ancak en azından varsayılan animasyon gösterilmez. Referans doc here göre

,

I activityOpenEnterAnimation kullanılarak aktivite başlangıcında bir animasyon tanımlamak gerekir. Ama şimdiye kadar başarı yok.

Herhangi bir fikrin var mı?

+0

Bu soru ** Android 2.1 (Eclair) ** için sorulmuştur. Sorunun aynı zamanda ortaya çıkıp çıkmadığını ya da Froyo/Honeycomb gibi daha sonraki versiyonlar için de geçerli olup olmadığını bilmiyorum. Bunu bulmanın hiçbir yolu yok. – adityad

cevap

78

Bunu şu anki bir projede kullanıyorum, temelde oldukça basit.

<!-- just defines top layer "Animation" --> 
<style name="Animation" /> 

<!-- the animations must have been defined in your "anim" folder, of course --> 
<style name="Animation.MyAwesomeAnimation" parent="android:style/Animation.Activity"> 
    <item name="android:activityOpenEnterAnimation">@anim/myawesomeanimation_enter</item> 
    <item name="android:activityOpenExitAnimation">@anim/hold_long</item> 
    <item name="android:activityCloseEnterAnimation">@anim/hold_long</item> 
    <item name="android:activityCloseExitAnimation">@anim/myawesomeanimation_exit</item> 
</style> 

Sonra temada bu tarzı (themes.xml) ayarlayın:: Bu gibi, styles.xml yeni animasyon stilini tanımlayan

<style name="Theme.MyAwesomeTheme" parent="Theme.Default"> 
    <item name="android:windowAnimationStyle">@style/Animation.MyAwesomeAnimation</item> 
</style> 

Ve sonra sadece bu temaları ayarlayabilirsiniz

<activity 
    android:name=".MyAwesomeActivity" 
    android:theme="@style/Theme.MyAwesomeTheme" /> 

Şimdi etkinlik animasyonlarla size büyük eğlence diliyorum: Eğer AndroidManifest.xml gibi her etkinliğe! : -D

+25

Deneyimden sonra, herkes için harika bir bilgiye sahibim !: Telefonunuz için Animasyonları etkinleştirmek gerçekten önemli: Ayarlar-> Ekran-> Animasyon ve "tüm animasyonlar" ı seçin! – Informatic0re

+24

Deneyimlerimden biri de varsayılan animasyonlardan türetilmelidir: '