【问题标题】:Shared element transition, blink when scale down image共享元素过渡,缩小图像时闪烁
【发布时间】:2018-02-27 15:10:24
【问题描述】:

https://youtu.be/n8MdHNYozgs 我在上面的视频中实现了片段和活动之间的共享元素转换

 val intent = Intent(context, Main2Activity::class.java)

    val list = ArrayList<Pair<View, String>>()
    (recyclerView.adapter as Adapter).list.forEachIndexed { index, entity ->
        val itemView = recyclerView.findViewHolderForAdapterPosition(index)?.itemView
        if (itemView != null) {
            list.add(Pair(itemView, entity.id.toString()))
        }
    }
    val options = ActivityOptionsCompat.makeSceneTransitionAnimation(activity, *list.toTypedArray())
    startActivity(intent, options.toBundle())

在活动中,我在另一个回收站视图中显示视图。 你能否给我一个建议,我应该怎么做才能避免在缩小图像结束时闪烁?

【问题讨论】:

    标签: android android-recyclerview android-transitions


    【解决方案1】:

    我找到了解决方案。问题是我使用 itemView 作为过渡视图:

    val itemView = recyclerView.findViewHolderForAdapterPosition(index)?.itemView
        if (itemView != null) {
            list.add(Pair(itemView, entity.id.toString()))
        }
    

    但需要使用如下代码:

     val holder = MyRecyclerView.findViewHolderForAdapterPosition(index)
            if (holder != null) {
                with(holder as MyViewHolder) {
                    list.add(Pair(this.image, entity.id.toString()))
                }
            }
    

    一切正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-04-18
      • 1970-01-01
      • 1970-01-01
      • 2016-04-23
      • 1970-01-01
      • 1970-01-01
      • 2018-12-17
      相关资源
      最近更新 更多