Плавающая кнопка действия мигает после закрытия активности с помощью Shared Element Transition

У меня проблема с переходом к общему элементу. Когда я возвращаюсь к MainActivity из DetailActivity, FAB мигает пример Gif

Я использовал этот образец проекта. Для общего перехода элемента я сделал:

  1. Включены переходы содержимого окна в файле styles.xml
    <item name="android:windowContentTransitions">true</item>
  2. Назначьте общее имя перехода для общих элементов в обоих макетах. android:transitionName="image"
  3. Запустил целевое действие, указав набор этих общих элементов и представлений из источника
    holder.mView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Context context = v.getContext(); Intent intent = new Intent(context, CheeseDetailActivity.class); intent.putExtra(CheeseDetailActivity.EXTRA_NAME, holder.mBoundString); MainActivity activity = (MainActivity) context; ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(activity, new Pair<>(holder.mView.findViewById(R.id.avatar), "image")); ActivityCompat.startActivity(context,intent, options.toBundle()); } });
    И когда я нажимаю кнопку «Назад», FAB из подробного действия мигает в основном действии.
    Я не нашел подобной проблемы. , так что спасибо за любую помощь!

person Aleksey Novikov    schedule 10.04.2018    source источник


Ответы (1)


Я исправил это, скрыв FAB перед закрытием Activity.
В onBackPressed() и в домашнюю кнопку onClick я вставил:

    CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams) myFab.getLayoutParams();
    params.setBehavior(null);
    myFab.requestLayout();
    myFab.setVisibility(View.GONE);

Может быть, это будет полезно для кого-то.

person Aleksey Novikov    schedule 13.04.2018
comment
Я действительно хотел бы более элегантное решение, но ваше решение сработало для меня. - person nglauber; 21.04.2018