Jac*_*Fan 6 android activity-transition shared-element-transition fresco android-5.1.1-lollipop
我在开始时发现了SimpleDraweeView 壁画的问题.但是我用android ImageView替换后问题仍然存在.所以我无法确定问题是由于Android还是仅仅是壁画.
问题是什么
但是在我的私人项目中,以及在示例项目中.
https://github.com/JackFan-Z/ActivitySharedElementTransition
ImageView以scaleType"fitCenter"开头,这是错误的.
我试图推迟共享元素转换,并在SharedElementCallback的回调中设置不同scaleType的共享元素.但它们都没有真正起作用.任何人都可以帮助弄清楚出了什么问题,或者在哪里调试?
该问题的屏幕截图
正如您所观察到的,ImageView这是 Android 的限制。但是,我正在对 Fresco 比例类型进行一些更改,一旦我推送更改,就可以执行此操作。
简而言之,ScaleType不再是一个Enum(非常不灵活),而是改为一个可以实现任意缩放的接口。此变更已在内部落地,很快将推送至 GitHub。
除了上述内容之外,我正在致力于 InterpolatingScaleType 的实现,它仅根据插值值 (0.0 - 1.0) 在两个基础比例类型之间进行插值。值 0.0 返回与基础scaleType1 相同的变换,而值1.0 返回与基础scaleType2 相同的变换。中间值是两者之间的线性组合。
InterpolatingScaleType 允许在两种不同的比例类型之间平滑地进行插值,这在动画(例如进行视图转换时)非常方便。
一旦准备好,我将更新这个答案。
编辑:
@burzumrus 非常友善地提供了一个实现,您可以在GitHub上找到该实现。Fresco 的 GitHub 页面上也有一个关于此问题的主题。
| 归档时间: |
|
| 查看次数: |
1141 次 |
| 最近记录: |