实现圆角对话框样式的Activity
转载自:https://blog.****.net/guxiao1201/article/details/41517567
期项目需求实现一个对话框形式的Activity,并且有两个附加需求:
1)默认竖屏模式下宽和高都为屏幕宽度的4/5;
2)实现黑色边框和圆角效果;
下图是最终实现。
实现的大致思路为:
设置Activity的Theme继承“Theme.AppCompat.Dialog”以实现最基本的对话框样式;
在Activity的onAttachedToWindow()回调生命周期函数中计算并设置Activity的高度和宽度;
使用<shap>实现圆角和边框,然后设置成窗体背景;
在实现过程中总结了以下几个问题,后面几篇博客将会逐一分析。
onAttachedToWindow()在整个Activity生命周期的位置;
decorView和window之间的层级及关系;
如何设置窗口圆角及边框;