消息提示机制,常用于向用户传递信息、提示或警告用户的行为。通用的方法有setTitle、setMessage、create、show。本片文章主要是简单对话框的使用,如何自定义对话框,如何使用PopupWindow进行弹框,以及如何对PopupWindow弹框加上动画效果。
简单对话框
1 | <Button |
其实普通对话框比较简单:
1 | public void myClick(View view) { |
不过也可以通过自定义方法进行Dialog的新建:
1 | // 自定义方法 |
自定义对话框
步骤:设置布局 > 设置Style > 自定义Dialog > 显示Dialog
下面通过这几个素材来完成一个非常可爱的自定义对话框:
首先新建一个diy_dialog.xml,在该布局文件中描述我们对话框的布局:
1 |
|
为了去除原始Dialog中的标题和默认背景色,定义一个style,命名为DiyDialog:
1 | <style name="DiyDialog" parent="android:style/Theme.Dialog"> |
接下来写一个自定义类DiyDialog继承Dialog,注意覆写构造方法:
1 | public class DiyDialog extends Dialog { |
上面为了能够使用自定义的style,所以选择了带themeResId的构造函数。
接下来在按钮的点击事件中使用即可,在构造DiyDialog时,注意需要把定义的style资源ID传给它:
1 | DiyDialog diyDialog = new DiyDialog(this, R.style.DiyDialog); |
PopupWindow
PopUpWindow 的使用场景很多,因为它能在任意位置弹出, 这是其他方式很难做到的。 从 Google的开发文档中我们不难看出,首先它是一个 Window,弹出时位于其他控件的上层。PopupWindow使用步骤:
1、创建PopupWindow对象实例
2、设置背景、注册事件监听器和添加动画
3、显示PopupWindow
首先按钮的点击事件写为showPopupWindow(View view),点击按钮时弹出PopupWindow。
先写布局文件如下 popup_window.xml,其实就是三个按钮
1 |
|
然后实例化并显示PopupWindow即可:
1 | private void showPopupWindow(View v) { |
设置动画应该如何设置呢?1、创建动画资源 2、创建一个style应用动画资源 3、当前弹窗的动画风格设置
先在res目录下新建anim目录:
新建一个只包含了平移动画的动画资源文件translate.xml
1 |
|
创建一个style应用该动画资源:
1 | <!-- 应用动画资源 --> |
然后在代码中使用即可:
1 | // 设置动画(1.创建动画资源 2.创建一个style应用动画资源 3.当前弹窗的动画风格设置) |
- 本文作者: Tim
- 本文链接: https://zouchanglin.cn/2020/10/15/50852.html
- 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 许可协议。转载请注明出处!