使用共享元素转换关闭 activity 后浮动操作按钮闪烁

Floating action button blink after closing activity using Shared Element Transition

我对共享元素转换有疑问。 当我从 DetailActivityreturn 到 MainActivity 时,FAB 闪烁 Gif example

我使用了 this 示例项目。 对于共享元素转换,我做了:

  1. 在 styles.xml
    中启用 Window 内容转换 <item name="android:windowContentTransitions">true</item>
  2. 为两个布局中的共享元素指定一个通用的过渡名称。 android:transitionName="image"
  3. 通过从源
    指定一组共享元素和视图来启动目标activity 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()); } });
    当我按下后退按钮时,细节 Activity 中的 FAB 在 Main activity.
    中闪烁 我没有找到类似的问题,所以感谢您的帮助!

我通过在关闭前隐藏 FAB 来修复它 Activity。
onBackPressed() 和主页按钮 onClick 中,我粘贴了:

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

也许对某人有用。