2017-07-25 6 views
0

私はいつも非常に簡単なので、アクティビティの入力/リターンのトランジション(スライドやフェードのようなxmlトランジションを使用してビューをアニメーション化)を使用しました。今私の最後のプロジェクトでは、ダミーのアクティビティ(実際の処理なし)でも問題が発生していましたが、トランジションがうまくいきませんでしたので、レイアウトコードを何時間も変更した後、ルートフレーム内のandroid:background背景色を設定するレイアウト。このアトリビュートを削除すると、トランジションが再び有効になりました。また、この属性をアクティビティテーマにのみ適用すると、トランジションが再び停止します。アンドロイド:バックグラウンドの殺害アクティビティの入力/リターンの遷移

現在、私のプロジェクトはわずかにのみ、このレイアウト構造を有する第2のアクティビティアニメーション化されています

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:background="@color/colorPrimary" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    <ImageView> 
    <RecyclerView> 
</FrameLayout> 

を遷移は、上部と下部からRecyclerViewでスライドからImageViewの中にスライドを行います。しかし、私が言ったように。ルートFrameLayoutに背景色がない場合にのみ機能します。

バグなのか何か分かりますか?

EDIT:私はちょうど背景色を提供するために、醜いダミービューを使用する場合は、遷移は働く:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    <View 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="@color/colorPrimary" /> 

    <ImageView> 
    <RecyclerView> 
</FrameLayout> 

EDIT 2:私は代わりのLinearLayoutのような他のルートのViewGroupを使用する場合同じ問題が起こるでframeLayout 。

+0

はあなたが有効な色を使用していることを確認していますまたは有効なドロウアブル? – matoni

+0

はい、主なアプリテーマのcolorPrimaryをテスト用にのみ使用していますが、アプリでの表示ですが、トランジションは機能しません。 –

+0

この色をどのように設定すればよいでしょうか? – matoni

答えて

1

私は友人の先端を使用して解決策(回避策)を見つけた:

私はルートでframeLayoutでこの属性を使用している場合、移行が動作します。

android:transitionGroup="false" 
関連する問題