android dialog怎么关闭
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android dialog怎么关闭相关的知识,希望对你有一定的参考价值。
AlertDialog.Builder对话框没有类似finish()或者dismiss()这样的方法。
但是它的父类AlertDialog有dismiss方法,而且AlertDialog.Builder在.show()的时候会得到一个AlertDialog对象,
我们就可以用dismiss方法将该Builder关闭。
[java]AlertDialog.Builder builder = new AlertDialog.Builder(this);
AlertDialog dialog = builder.show();
dialog.dismiss();
// 不关闭的写法
try
Field field = mDialog.getClass().getSuperclass().getDeclaredField("mShowing");
field.setAccessible(true);
//设置mShowing值,欺骗android系统
field.set(mDialog, false);
catch(Exception e)
e.printStackTrace();
// 关闭的写法
try
Field field = mDialog.getClass().getSuperclass().getDeclaredField("mShowing");
field.setAccessible(true);
//设置mShowing值,欺骗android系统
field.set(mDialog, true);
catch(Exception e)
e.printStackTrace();
2.点击对话框外对话框的关闭设置
AlertDialog.Builder b=new AlertDialog.Builder(context);
//不关闭写法
b.setCancelable(false);
//关闭写法
b.setCancelable(false);
android dialog 怎么设置全屏
默认的Dialog是不能全屏的。也就是怎么设置Dialog的Layout都没用的。面给出实现Dialog实现全屏的两种方式:
1、代码实现。这中方法相对比较简单
首先继承Dialig,然后再构造函数中添加
super(context, android.R.style.Theme);
setOwnerActivity((Activity)context);
2、XML实现
首先,在values文件中添加一个XML文件,
其次,在XML文件中设置一个style然后,添加如下代码: <style name="Dialog_Fullscreen"> <item name="android:windowFullscreen">true</item> <item name="android:windowNoTitle">true</item> </style> 最后,在代码里设置Dialog的Theme Dialog dialog = new Dialog(this, R.style.Dialog_Fullscreen);
dialog.setContentView(R.layout.main);
dialog.show(); 参考技术A 面给出实现Dialog实现全屏的两种方式:
1、代码实现。这中方法相对比较简单
首先继承Dialig,然后再构造函数中添加
super(context, android.R.style.Theme);
setOwnerActivity((Activity)context);
2、XML实现
首先,在values文件中添加一个XML文件,
其次,在XML文件中设置一个style
然后,添加如下代码:
<style name="Dialog_Fullscreen">
<item name="android:windowFullscreen">true</item>
<item name="android:windowNoTitle">true</item>
</style>
最后,在代码里设置Dialog的Theme
Dialog dialog = new Dialog(this,R.style.Dialog_Fullscreen);
dialog.setContentView(R.layout.main);
dialog.show();
以上是关于android dialog怎么关闭的主要内容,如果未能解决你的问题,请参考以下文章