文档章节

android开发Dialog弹出框

汇聚成河
 汇聚成河
发布于 2017/01/18 16:34
字数 329
阅读 65
收藏 0

直接封装成一个类 注:此Dialog弹出的样式是从下面往上弹出的。可以根据需要进行修改

import android.app.Dialog;
import android.content.Context;
import android.view.Gravity;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
/**
 * 弹出框类
 * 
 * @author Dragonfly
 * 
 */
public class DialogUtil {
	private static Dialog dialog = null;
	/*
	 * 弹出dialog
	 */
	public static void getDialog(Context context, View v) {
		dialog = new Dialog(context, R.style.set_dialog_style);
		try {
			dialog.setCancelable(true);// 可以用返回键取消
			dialog.setContentView(v);
			dialog.setCanceledOnTouchOutside(true);// 点击其它区域取消dialog
			Window window = dialog.getWindow();
			WindowManager.LayoutParams wlp = window.getAttributes();
			//设置显示动画  
			window.setWindowAnimations(R.style.set_dialog_style);  
			wlp.gravity = Gravity.BOTTOM;// 设置在最下面
			wlp.width = WindowManager.LayoutParams.MATCH_PARENT;
                        wlp.height = WindowManager.LayoutParams.WRAP_CONTENT;
			window.setAttributes(wlp);
			dialog.show();
		} catch (Exception e) {
			LogUtil.e(DialogUtil.class,
					"nameOrHeadDialog(Context context, int who)", e);
		}
	}
	/*
	 * 删除dialog
	 */
	public static void dismissDialog() {
		if (dialog != null && dialog.isShowing()) {
			dialog.dismiss();
		}
	}
}

其中使用到style样式的写法如下

<!-- 设置页面弹出样式 -->
    <style name="set_dialog_style" parent="@style/AppTheme">
        <item name="@android:windowEnterAnimation">@anim/dialog_open_anim</item>
        <item name="@android:windowExitAnimation">@anim/dialog_close_anim</item>
        <item name="android:windowFrame">@null</item><!-- 外面框 -->
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowIsFloating">true</item><!--是否浮现在activity之上-->
        <item name="android:windowIsTranslucent">true</item><!--是否半透明-->
    </style>

使用到的dialog_open_anim如下:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
    <translate
        android:duration="500"
        android:fromYDelta="100.0%"
        android:toYDelta="1%" />
</set>

dialog_close_anim中的代码如下:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
    <translate
        android:duration="500"
        android:fromYDelta="1%"
        android:toYDelta="100.0%" />
</set>

注:此Dialog弹出的样式是从下面往上弹出的。

© 著作权归作者所有

汇聚成河
粉丝 1
博文 34
码字总数 27236
作品 0
浦东
程序员
私信 提问
7种形式的Android Dialog使用举例

在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择。这些功能我们叫它Android Dialog对话框,在我们使用Android的过程中,我归纳了一下,Android...

鉴客
2011/11/22
349K
24
几种不同的Android Dialog

在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择。这些功能我们叫它Android Dialog对话框,在我们使用Android的过程中,我归纳了一下,Android...

等待流星
2015/02/25
194
1
用Dialog创建带箭头的对话框

很多应用中,在点击Button后,会弹出一个带箭头的对话框,指向这个Button。网上查了,很多人都说用PopupWindow可以实现,我对PopupWindow不熟,于是试着用Dialog实现。(需要注意的是:Popup...

长平狐
2012/08/14
228
0
用Dialog创建带箭头的对话框

很多应用中,在点击Button后,会弹出一个带箭头的对话框,指向这个Button。网上查了,很多人都说用PopupWindow可以实现,我对PopupWindow不熟,于是试着用Dialog实现。(需要注意的是:Popup...

长平狐
2012/08/21
886
0
Android控件——7种形式的Android Dialog使用举例

在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择。这些功能我们叫它Android Dialog对话框,在我们使用Android的过程中,我归纳了一下,Android...

的书法上的
2014/08/27
90
0

没有更多内容

加载失败,请刷新页面

加载更多

喜玛拉雅已听书单

时间倒序排 书名 作者 状态 唐砖 孑与2 进行中 死灵之书(克苏鲁神话合集) 阿卜杜拉·阿尔哈萨德 进行中 赡养人类 刘慈欣 完结 赡养上帝 刘慈欣 完结 中国太阳 刘慈欣 完结 中国太阳 刘慈欣...

Alex_Java
30分钟前
5
0
Java8新特性时间日期库DateTime API及示例

Java8新特性的功能已经更新了不少篇幅了,今天重点讲解时间日期库中DateTime相关处理。同样的,如果你现在依旧在项目中使用传统Date、Calendar和SimpleDateFormat等API来处理日期相关操作,这...

程序新视界
40分钟前
7
0
医疗项目pc端后台页面用vue重构整个html页面

页面源码是vue

xintaiideas
今天
6
0
领域驱动中的“贫血症和失忆症” --实践领域驱动--原文

贫血症严重危害着人类健康,并且伴随有危险的副作用。当贫血领域对象被首次提出来时,它并不是一个博得赞美的词汇,它描述的是一个缺少内在行为领域对象。奇怪的是,人们对于贫血领域对象的态...

还仙
今天
6
0
条码打印软件中标签预览正常打印无反应怎么解决

在使用条码打印软件制作标签时,有客户反馈,标签打印预览正常的,但是打印无反应,咨询是怎么回事?今天针对这个情况,可以参考以下方法进行解决。 一、预览正常情况下,打印没反应 (1)在条码...

中琅软件
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部