幸运快三 > 数码 > android

战舰v3开发板使用说明&Android开发之深入理解AlertDialog使用说明

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

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

Android开发之深入理解AlertDialog使用说明步骤阅读

工具/原料

  • Android开发工具:Android Studio或Eclipse
  • Android测试工具:虚拟设备或测试手机

一、AlertDialog基础知识使用总结

  1. 1

    TeachCourse第一次接触AlertDialog,不理解为什么无法直接通过new关键字获取对象,而是调用方法:new AlertDialog.Builder.create(),后来深入学习 博客总结,知道获取AlertDialog对象的逻辑。这个时候容易让人疑惑的是:如何设置对话框的属性?比如:对话框标题,对话框消息,对话框按钮等等,第一种方法,如下图:

    Android开发之深入理解AlertDialog使用说明步骤阅读
  2. 2

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

    Android开发之深入理解AlertDialog使用说明步骤阅读
  3. 3

    钊林在之前的博客中总结时,发现这两种方式的对话框默认情况,对话框水平垂直居中显示,对话框与左右窗体之间有一小段距离,效果图如下:

    Android开发之深入理解AlertDialog使用说明步骤阅读
    END

二、深入学习AlertDialog弹窗实现

  1. 1

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

    Android开发之深入理解AlertDialog使用说明步骤阅读
  2. 2

    那么首先来学习一下如何设置Window对象屏幕宽度/高度的三种方式,第一种方式:setLayout()。获得Window对象后,设置Window对象的布局参数,即调用setLayout(int width,int height)方法,width取值:MATCH_PARENT/WRAP_CONTENT,同理height同样取值:MATCH_PARENT/WRAP_CONTENT,具体代码如下:

    Android开发之深入理解AlertDialog使用说明步骤阅读
  3. 3

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

    Android开发之深入理解AlertDialog使用说明步骤阅读
  4. 4

    第三种方式:setLayout(),这种方式和第一种方式一样都是调用setLayout方法,不同的是指定WindowManager对象的固定高度,在设计类似底部分享弹窗时,固定高度,关键代码如下图:

    Android开发之深入理解AlertDialog使用说明步骤阅读
    END

三、AlertDialog弹窗动画基础知识

  1. 1

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

    Android开发之深入理解AlertDialog使用说明步骤阅读
  2. 2

    在style.xml文件中添加Window进入和退出分别引用的动画类型,代码如下:

    Android开发之深入理解AlertDialog使用说明步骤阅读
  3. 3

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

    Android开发之深入理解AlertDialog使用说明步骤阅读
    END

四、Activity实现AlertDialog弹窗效果

  1. 1

    定义MyDialogActivity实现AlertDialog同样的功能,类似点击“分享按钮”,从窗口底部弹出弹窗,点击“取消”弹窗消息,最终效果和AlertDialog实现的弹窗效果一模一样,如下图:

    Android开发之深入理解AlertDialog使用说明步骤阅读
  2. 2

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

    Android开发之深入理解AlertDialog使用说明步骤阅读
    Android开发之深入理解AlertDialog使用说明步骤阅读
  3. 3

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

    Android开发之深入理解AlertDialog使用说明步骤阅读
    Android开发之深入理解AlertDialog使用说明步骤阅读
  4. 4

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

    Android开发之深入理解AlertDialog使用说明步骤阅读
    Android开发之深入理解AlertDialog使用说明步骤阅读
    Android开发之深入理解AlertDialog使用说明步骤阅读
    END

注意事项

  • AlertDialog基础知识总结的两种方式,其中一种受API版本的限制,可能会报错
  • 实现弹窗的效果还不止这几种,根据实际开发需要灵活使用

本文来自投稿,不代表幸运快三立场,转载请注明出处:http://www.morucat.com/digital/3888.html