从点击处弹出的对话框你想要吗?

简介: 从点击处弹出的对话框你想要吗?

最近实现了一个从点击处弹出的对话框,最终效果如下:


image.png

1. 接招



实现对话框功能可选择的技术有 Dialog、PopupWindow、Activity。它们都支持自定义弹出和消失动画。它们都能实现自定义动画。


WindowAnimation Transition ShareElement Transition
Dialog 支持 不支持 不支持
PopupWindow 支持 支持 不支持
Activity 支持 支持 支持


image.png


WindowAnimation动画必须要在styles.xml中定义,不能通过代码动态设置windowEnterAnimation、windowExitAnimation。意味着windowAnimation一旦设置好了 动画是固定不变的,显然无法满足从点击处做弹出动画的功能。排除Dialog。Activity同时支持过渡动画和共享元素过渡动画。经过一番尝试,发现虽然Activity支持丰富 的过渡动画,但是并不适合完成该场景的功能,最终决定采用PopupWindow实现该功能。


2. 拆招



该动画的特征是:从手指点击处做放大动画同时将对话框的中心点平移到屏幕中心。核心代码如下

image.png

3. 解招



最终代码


image.png

image.png

image.png

image.png

相关文章
|
8月前
|
前端开发 JavaScript
鼠标点击展开详情
鼠标点击展开详情
UG02界面定制---左上角点击文件新建,选择做靠边栏倒数第三个Content是,选择它的基本功能,UG不想要工具栏,可以拖动删除它,最上方工具栏有定制,Ctrl + 1,文字在定制的文本,右键加命令
UG02界面定制---左上角点击文件新建,选择做靠边栏倒数第三个Content是,选择它的基本功能,UG不想要工具栏,可以拖动删除它,最上方工具栏有定制,Ctrl + 1,文字在定制的文本,右键加命令
|
小程序 JavaScript
小程序点击按钮弹出可填写框
小程序点击按钮弹出可填写框
108 0
|
JavaScript
怎么点击下拉框外面关闭下拉框
怎么点击下拉框外面关闭下拉框
315 0
点击按钮,新增输入框,再点击按钮,删除输入框
点击按钮,新增输入框,再点击按钮,删除输入框
64 0
selenium+python:点击元素、alert弹框、鼠标操作(左键点击、右键点击、双击、鼠标悬浮)、下拉选项框、窗口切换等操作的处
selenium+python:点击元素、alert弹框、鼠标操作(左键点击、右键点击、双击、鼠标悬浮)、下拉选项框、窗口切换等操作的处
tab栏切换制作(点击那一栏显示那一栏的内容,其他栏的内容隐藏)
tab栏切换制作(点击那一栏显示那一栏的内容,其他栏的内容隐藏)
tab栏切换制作(点击那一栏显示那一栏的内容,其他栏的内容隐藏)