java - 缩放到 0 的 Android 属性动画仍然保持视图可点击,即使文档说它不应该
问题描述
我使用以下方法将浮动操作按钮缩放为 0:
fab.animate().scaleX(0).scaleY(0).setDuration(200L)
动画效果很好,FAB 消失了,但 FAB 所在的区域仍然检测到 FAB 本身的点击,而不是它背后的点击。
我正在阅读文档:
https://developer.android.com/guide/topics/graphics/prop-animation.html
它说:
视图动画系统的另一个缺点是它只修改了视图的绘制位置,而不是实际的视图本身。例如,如果您为按钮设置动画以在屏幕上移动,则该按钮可以正确绘制,但您可以单击该按钮的实际位置不会改变,因此您必须实现自己的逻辑来处理此问题。
使用属性动画系统,这些约束被完全移除,您可以对任何对象(视图和非视图)的任何属性进行动画处理,并且对象本身实际上是被修改的。属性动画系统在执行动画的方式上也更加健壮。在较高级别上,您可以将动画师分配给您想要制作动画的属性,例如颜色、位置或大小,并且可以定义动画的各个方面,例如多个动画师的插值和同步。
那么“和对象本身实际上被修改”是错误的吗?还是我做错了什么?
编辑:我确实找到了一种解决方法,即 FAB 具有 hide() 和 show() 方法来执行此操作,而无需我的自定义动画师。但是我仍然很好奇为什么属性动画师没有按照文档中的描述完成它的工作。
解决方案
推荐阅读
- javascript - 使用 AES 和自定义密钥使用 WebCrypto API 加密和解密视频
- php - 在 WordPress 管理员的单独子菜单中按自定义字段显示帖子
- javascript - 使用带有 ajax 的 MVC 6 .NET Core 访问文件
- c# - C# COM 服务器和客户端因 InvalidCastException 而失败
- c - MPI Bsend 中的错误终止
- objective-c - 防止后台应用程序中的 NSTimer 触发延迟
- wordpress - 子主题如何适用于 wordpress 中的现有项目?
- typo3 - 覆盖来自另一个扩展的流体模板
- ruby-on-rails - 修改架构以将应用程序中的所有货币从 (15,2) 更改为普通十进制列是否是不好的做法
- pdf - wkhtmltopdf 0.12.4(带有修补的qt)字符损坏和svg字体转换为图像