У меня есть RecyclerView
с некоторыми картами, каждая из которых содержит мини-плавучую кнопку действия. При щелчке по карте изображение на карте и фабрика используются при переходе общего элемента.Переход от общего элемента с плавающими кнопками кнопки ввода
При выполнении обратного перехода плавающая кнопка действия «защелкивается» обратно в исходное положение, а не анимирует красиво, как предполагалось.
Херес GIF, который показывает проблему: https://gfycat.com/SnappySeparateDeer
Мой код начала деятельности и переход:
Intent intent = new Intent(mContext, PlayActivity.class);
Pair<View, String> p1 = Pair.create((View)holder.coverArt, "coverArt");
Pair<View, String> p2 = Pair.create((View) holder.fab, "fab");
ActivityOptionsCompat options = ActivityOptionsCompat.
makeSceneTransitionAnimation(mActivity, p1, p2);
mContext.startActivity(intent, options.toBundle());
мини ФАБ на картах:
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
app:fabSize="mini"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
app:layout_anchor="@id/coverArt"
app:layout_anchorGravity="bottom|right|end"
android:src="@drawable/ic_favorite"
android:layout_margin="16dp"
android:clickable="true"
android:transitionName="fab"/>
и один в Деятельность:
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
app:layout_anchor="@id/coverArt"
app:layout_anchorGravity="bottom|right|end"
android:src="@drawable/ic_favorite"
android:layout_margin="16dp"
android:clickable="true"
android:transitionName="fab"/>
EDIT: Я бы хотел увеличить щедрость, но кажется, что функция не реализована в SO по какой-то причине. Я уверен, что могу добавить дополнительные очки за лучший ответ, так что добавит еще +50. Благодаря!
В чем именно проблема? –
@ LukeSalamone переход не правильно выравнивается системой. Как вы можете видеть в обратном переходе, анимированные анимации возвращаются, но они привязываются влево к исходному положению вместо обычного плавного перехода. – Orbit
Вы думали использовать 'overridePendingTransition()'? –