2016-03-24 28 views
1

ile çatışma gibi görünüyor benim style.xml içinde aşağıdaki tarza sahip bir buraya Activity transition effects: slide in for the top activity and scale for the bottom activity soruma takip edilir: Ben android:windowAnimationStyle tarzı olduğunu android:windowBackground çatışmaları buldukAyar tarzı android: windowIsTranslucent windowAnimationStyle

<style name="RevealTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
    <item name="android:windowBackground">@android:color/transparent</item> 
    <item name="android:windowIsTranslucent">true</item> 
    <item name="android:windowAnimationStyle">@style/ActivityAnimation</item> 
</style> 

<style name="ActivityAnimation" parent="@android:style/Animation"> 
    <item name="android:activityOpenEnterAnimation">@anim/animation_in</item> 
    <item name="android:activityOpenExitAnimation">@anim/animation_out</item> 
    <item name="android:activityCloseEnterAnimation">@anim/animation_back_in</item> 
    <item name="android:activityCloseExitAnimation">@anim/animation_back_out</item> 
</style> 

ve animasyon tam olarak görüntülenmiyor. Benim style.xml olduğu gibi yukarıdaki stil içerir ve benim app çalıştırırsanız, aşağıdaki alıyorum:

enter image description here

Burada satırları ise:

<style name="RevealTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
    <item name="android:windowBackground">@android:color/transparent</item> 
    <!--<item name="android:windowIsTranslucent">true</item> COMMENTED OUT--> 
    <item name="android:windowAnimationStyle">@style/ActivityAnimation</item> 
</style> 

<style name="ActivityAnimation" parent="@android:style/Animation"> 
    <item name="android:activityOpenEnterAnimation">@anim/animation_in</item> 
    <item name="android:activityOpenExitAnimation">@anim/animation_out</item> 
    <item name="android:activityCloseEnterAnimation">@anim/animation_back_in</item> 
    <item name="android:activityCloseExitAnimation">@anim/animation_back_out</item> 
</style> 

enter image description here

Neden böyle olduğunu anlamıyorum. Diğer animasyonlarımın bazılarına göre pencereye ihtiyacım var.

activity_in.xml:

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android"> 
    <translate 
     android:fromXDelta="100%p" 
     android:toXDelta="0%p" 
     android:duration="@integer/activityAnimationTime"> 
    </translate> 
</set> 

activity_out.xml:

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android"> 
    <scale 
     android:fromXScale="1.0" 
     android:toXScale="0.84" 
     android:fromYScale="1.0" 
     android:toYScale="0.84" 
     android:duration="@integer/activityAnimationTime"/> 
    <translate 
     android:fromYDelta="0%" 
     android:fromXDelta="0%" 
     android:toYDelta="8%" 
     android:toXDelta="16%" 
     android:duration="@integer/activityAnimationTime"/> 

    <alpha 
     android:fromAlpha="1.0" 
     android:toAlpha="0.25" 
     android:duration="@integer/activityAnimationTime"/> 

</set> 

Bunlar (Nikolai Doronin sayesinde) kullanıyorum xml animasyon sınıfıdır

activity_back_in.xml:

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android"> 
    <scale 
     android:fromXScale="0.84" 
     android:toXScale="1.0" 
     android:fromYScale="0.84" 
     android:toYScale="1.0" 
     android:duration="@integer/activityAnimationTime"/> 
    <translate 
     android:fromYDelta="8%" 
     android:fromXDelta="16%" 
     android:toYDelta="0%" 
     android:toXDelta="0%" 
     android:duration="@integer/activityAnimationTime"/> 

    <alpha 
     android:fromAlpha="0.25" 
     android:toAlpha="1.0" 
     android:duration="@integer/activityAnimationTime"/> 

</set> 

activity_back_out.xml:

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android"> 
    <translate 
     android:fromXDelta="0%p" 
     android:toXDelta="100%p" 
     android:duration="@integer/activityAnimationTime"> 
    </translate> 
</set> 

cevap

0

Bu deneyebilirsiniz, değiştirmek

<style name="ActivityAnimation" parent="@android:style/Animation"> 

için

<style name="ActivityAnimation" parent="@android:style/Animation.Translucent">