2017-03-10 9 views
1

Chromeのカスタムタブを持つアプリがあります。私は入力して得ることができます限り、彼らはトランジション(入力/左/右からの出口)されているようビルダーでの作業終了アニメーション:Android Chromeのカスタムタブがアニメーションのフェードアウト

.setStartAnimations(mContext, R.anim.enter_from_right, R.anim.exit_to_left) 
.setExitAnimations(mContext, R.anim.enter_from_left, R.anim.exit_to_right) 

できるだけ早く私がしようとすると、アルファ付き/アウトアニメーションでフェードを持っているとして、それ動作しません。私は黒い画面を取得し、マルチタスクからアプリを殺す必要があります。アニメーションのXMLフェードは中:

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
android:interpolator="@android:interpolator/linear" 
> 
<alpha 
    android:fromAlpha="0.0" 
    android:toAlpha="1.0" 
    android:duration="500" 
    android:fillAfter="true" 
    /> 
</set> 

フェードアウト:

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
android:interpolator="@android:interpolator/linear" 
> 
<alpha 
    android:fromAlpha="1.0" 
    android:toAlpha="0.0" 
    android:duration="500" 
    android:fillAfter="true" 
    /> 
</set> 

私は補間を変更しようとしていると、前/後に埋めるが、違いを作るようには見えません。

答えて

0

私のアプリでこれを正確に実行しており、全く問題はありません。

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { 
         CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder(); 
         builder.setToolbarColor(ResourceUtils.getColor(R.color.mine_shaft)); 
         builder.setStartAnimations(activity, R.anim.slide_up, R.anim.no_change); 
         builder.setExitAnimations(activity, R.anim.no_change, R.anim.slide_down); 
         CustomTabsIntent customTabsIntent = builder.build(); 
         customTabsIntent.launchUrl(activity, Uri.parse(url)); 
        } else { 
         Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); 
         intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

         activity.startActivity(intent); 
        } 

そして、これが私のアニメーションXMLは、ちょうどあなたの問題をチェックするために

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android"> 
    <translate 
     android:duration="500" 
     android:fromYDelta="100%p" 
     android:interpolator="@android:anim/decelerate_interpolator" 
     android:toYDelta="0" /> 

    <alpha 
     android:duration="500" 
     android:fromAlpha="0.4" 
     android:toAlpha="1.0" /> 
</set> 

、どのようなものか、私だけフェージング一部を保ち、このアニメーションからの翻訳を削除しようとしていて、それはまだ完璧に動作。

これを試してください。私はあなたが何かを作っている小さなミスがあると確信しています。

+0

私はそのfromAlpha = "0.0" と思う – Mark

+0

はい、それができる鉱山で問題になります問題。この回答が役立つ場合は、それを上書きすることを検討してください。 –

0

アニメーションセットを使用しないと消えてしまいます。だから、XMLは次のようになります。中

フェード:

<alpha xmlns:android="http://schemas.android.com/apk/res/android" 
android:interpolator="@android:interpolator/decelerate_quad" 
android:fromAlpha="0.0" android:toAlpha="1.0" 
android:duration="1000" /> 

フェードアウト:

<alpha xmlns:android="http://schemas.android.com/apk/res/android" 
android:interpolator="@android:interpolator/accelerate_quad" 
android:fromAlpha="1.0" 
android:toAlpha="0.0" 
android:duration="1000" 
/> 
関連する問題