【问题标题】:Floating action button blink after closing activity using Shared Element Transition使用共享元素转换关闭活动后浮动操作按钮闪烁
【发布时间】:2018-04-10 10:00:11
【问题描述】:

我遇到了共享元素转换的问题。 当我从 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 在主要活动中闪烁。
    我没有发现类似的问题,所以感谢您的帮助!

【问题讨论】:

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


    【解决方案1】:

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

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

    也许它对某人有用。

    【讨论】:

    • 我真的想要一个更优雅的解决方案,但您的解决方案对我有用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-14
    • 2015-07-19
    • 1970-01-01
    相关资源
    最近更新 更多