2017-07-24 53 views
2

我想動畫的片段過渡,我成功地動畫過渡,但我也需要在同一時間使淡出或與阿爾法。 這是我的代碼:android對象動畫過渡和alpahn

private void loadFragment(Fragment frag, String tag) { 
    FragmentManager fragmentManager = getFragmentManager(); 

    FragmentTransaction fragmentTransaction = 
    fragmentManager.beginTransaction(); 

    fragmentTransaction.setCustomAnimations(R.animator.enter_from_left, 
    R.animator.exit_from_right, R.animator.enter_from_right, 
    R.animator.exit_from_left); 
    fragmentTransaction.replace(R.id.frameLayout, frag, tag); 
    fragmentTransaction.addToBackStack(tag); 
    fragmentTransaction.commit(); 
} 

這是動畫師:

這是從左側進入:

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
android:shareInterpolator="false"> 
<objectAnimator 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:duration="450" 
    android:propertyName="x" 
    android:valueFrom="1000" 
    android:valueTo="0" 
    android:valueType="floatType"/> 
</set> 

這是正確的

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
android:shareInterpolator="false"> 
    <objectAnimator 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:duration="450" 
    android:propertyName="x" 
    android:valueFrom="1000" 
    android:valueTo="0" 
    android:valueType="floatType"/> 
</set> 

這回車是從左邊退出:

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
android:shareInterpolator="false"> 
    <objectAnimator 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:duration="450" 
     android:propertyName="x" 
     android:valueFrom="0" 
     android:valueTo="1000" 
     android:valueType="floatType"/> 
</set> 

這是從右出口:

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
android:shareInterpolator="false"> 
    <objectAnimator 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:duration="450" 
    android:propertyName="x" 
    android:valueFrom="0" 
    android:valueTo="-1000" 
    android:valueType="floatType"/> 
</set> 

回答

0

您可以在XML中定義的標籤中指定多個動畫對象,也可以指定它們的順序天氣要一起玩或順序。

這裏是你如何可以改變你的XML來實現你想要的

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
android:shareInterpolator="false" 
android:ordering="together"> 

<objectAnimator 
    android:duration="450" 
    android:propertyName="x" 
    android:valueFrom="1000" 
    android:valueTo="0" 
    android:valueType="floatType"/> 

<objectAnimator 
    android:duration="450" 
    android:valueFrom="0f" 
    android:propertyName="alpha" 
    android:valueTo="1f" /> 

+0

感謝它的工作 –

+0

大......請接受的答案,以便其他人可以受惠。 –