提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
最近在自定义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>
<i