2017-10-06 4 views
0

私は2つのアクティビティを持っています(1つはRecyclerviewとDetailsActvityがstartActvityForResultで開始されます)。Androidマテリアル2つのアクティビティ間の動き

ここで、リストアイテムをクリックすると、このようなアニメーションを作りたいと思います。

https://material.io/guidelines/motion/material-motion.html#material-motion-implications-of-motion

誰かが私にそれを実現するための簡単な方法を示すことができるならば、それは素晴らしいことです。

+1

http://guides.codepath.com/android/shared-element-activity-transition –

+0

のようなこのリンクがあなたを助けてくれることを願います。これは共有要素のアニメーションではありません。それはちょうどクリックされた項目の位置から始まるトランジションを持っています。 –

答えて

1

あなたが探しているものは、makeSceneTransitionAnimationと呼ばれています。使い方は非常に簡単ですが、両方の画面に共通のXMLタグ "transitionName"を持つ共有要素が必要です(例:その後、

"android:transitionName="clock" 

とmakeSceneTransitionAnimationで活動を開始します。あなたは、これは私が、あなたが探しているものではないとコメントする前に私がこれを書いた:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
      Pair<View, String> p1 = Pair.create(clock, "clock"); 

      ActivityOptionsCompat options = ActivityOptionsCompat. 
        makeSceneTransitionAnimation((Activity) getContext(), p1); 

      mView.getContext().startActivity(intent, options.toBundle()); 

}

編集あなたがmakeSceneTransitionAnimationで示された遷移を達成できると思います。

+0

おかげで、それは:) を働いている私は、次のコードで 'startActivityForResult'で作業を行わ:今私は、閉じたときに ' ActivityCompat.startActivityForResult(活動、意図、CategoryDe​​tailsActivity.EDIT_CATEGORY、options.toBundle()) ' –

+0

この活動。私は同じアニメーションを後ろにしたい。あなたは今これを行うために暑いですか? –

+1

[supportFinishAfterTransition()](https://developer.android.com/reference/android/support/v4/app/FragmentActivity.html#supportFinishAfterTransition())でアクティビティを終了してください。 – Ole

関連する問題