提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
最近在自定义Dialog时,遇到一些显示方面问题,记录一下备忘
一、想要实现的效果
想要实现的效果是,点击一个图标按钮,在图标正上方以缩放动画显示弹窗。基本原理就是,点击按钮时,通过View.getLocationOnScreen(int[])方法,获取View在屏幕上的位置。然后在Dialog中通过WindowManager.LayoutParams的x、y属性修改弹窗显示位置。
二、部分关键代码
透明弹窗样式
<style name="BaseDialog" parent="Theme.AppCompat.Dialog">
<item name="android:windowBackground">@android:color/holo_green_light</item>
<item name="android:background">@null</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowFullscreen">true</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowFrame">@null</item>
<item name="android:windowAni

在自定义DialogFragment时遇到了显示位置Y轴偏下和缩放动画中心异常的问题。解决方案包括正确计算View在屏幕的位置,考虑状态栏高度影响,以及调整Dialog的主题样式以修复动画中心点计算错误。
最低0.47元/天 解锁文章
3757

被折叠的 条评论
为什么被折叠?



