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

时间:2018-04-10 10:00:11

标签: android floating-action-button shared-element-transition

我遇到共享元素转换问题。 当我从DetailActivity返回MainActivity时,FAB闪烁 Gif example

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

  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会在主要活动中闪烁。
    我没有找到类似的问题,所以感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

我通过在关闭活动之前隐藏FAB来修复它 在我粘贴的onBackPressed()和主页按钮onClick中:

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

也许这对某人有用。