Android开发之深入理解AlertDialog使用说明
弹窗通常用于提示用户进行某种操作,比如:点击分享按钮,弹窗分享对话框;双击返回按钮,弹窗退出对话框;下载文件,提示下载对话框等等,分享对话框/退出对话框/下载对话框等等,都可以直接使用AlertDialog实现,类似的效果如下图:

2、第一种设置对话框标题、对话框消息内容、对话框按钮的方式,先获得AlertDialog对象,然后设置对象的属性值;第二种方法,使用AlertDialog.Builder构造器,籁缰汾秘构造一个对话框,然后再创建AlertDialog对象,最后调用show或dismiss显示或隐藏,如下图:

二、深入学习AlertDialog弹窗实现
1、默认AlertDialog设计出来的弹窗不符合钊林实际开发的需要,如何修改AlertDialog对话框默认属性,实现对话框内容宽度布满屏幕,高度根据内容自适应,类似文章开头点击?

3、第二种方式:setAttributes(),获得Window对象后,设置Window对象的属性值,即调用setAttributes(LayoutParams)菱诎逭幂方法,LayoutParams的width变量取值:MATCH_PARENT/WRAP_CONTENT,同理height变量取值:MATCH_PARENT/WRAP_CONTENT,关键代码如下图:

三、AlertDialog弹窗动画基础知识
1、Android的基本动画包括:渐变动画/平移动画/缩放动画/旋转动画/组合动画,更多内容可以参考TeachCourse博客《Android代码绘制虚线、圆角、渐变和阴影效果图》,点击“分享”按钮,弹窗从底部弹窗,再次点击弹窗消失,设置的动画——平移动画,代码如下:

3、在Window属性设置中调用setContentView()指定View对象,同时调用setWindowAnimations()指定添加的动画,代码如下:

2、定义布局popup_main.xml,设计弹窗最终期待展示的样子,在布局文件中可以 添加多个控件,多个平台的分享按钮,比如:微信/微博/空间/人人等,代码如下:

3、定义Theme样式,Theme样式被定义在style.xml文件中,在AndroidManifest.xml文件中的<activity>标签的android:theme=""属性中引用,代码如下:

4、实现MyDialogActivity具体功能,关键代码如下图:

