最近实现了一个从点击处弹出的对话框,最终效果如下:
1. 接招
实现对话框功能可选择的技术有 Dialog、PopupWindow、Activity。它们都支持自定义弹出和消失动画。它们都能实现自定义动画。
WindowAnimation | Transition | ShareElement Transition | |
---|---|---|---|
Dialog | 支持 | 不支持 | 不支持 |
PopupWindow | 支持 | 支持 | 不支持 |
Activity | 支持 | 支持 | 支持 |
WindowAnimation动画必须要在styles.xml中定义,不能通过代码动态设置windowEnterAnimation、windowExitAnimation。意味着windowAnimation一旦设置好了 动画是固定不变的,显然无法满足从点击处做弹出动画的功能。排除Dialog。Activity同时支持过渡动画和共享元素过渡动画。经过一番尝试,发现虽然Activity支持丰富 的过渡动画,但是并不适合完成该场景的功能,最终决定采用PopupWindow实现该功能。
2. 拆招
该动画的特征是:从手指点击处做放大动画同时将对话框的中心点平移到屏幕中心。核心代码如下
3. 解招
最终代码
4. 获取完整源码
关注微信公众号”字节小站”,回复”对话框”,获取完整源码
今天的文章从点击处弹出的对话框你想要吗?分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/13566.html