Android中修改Dialog下的窗口变暗的问题解决

关于对话框和popupwindow的设置指定大小和位置的小结 最近研究了下dialog'和popupwindow,它们都能在当前界面弹出一个窗口,外观上的区别是一dialog弹出后背景会失去焦点(背景变暗),popupwindow则默认不会。 使用的时候也有些区别。 一 dialog   1 常用的dialog 应该是v7包下的alertdialog 了,通过内部类builder设置创建一个对话框实例。 默认的对话框有如下特点: 1 width 大 阅读详情

有两种解决方法:

(1)对位于底层的窗口赋以如下style:

<style name="not_dim" >
        <item name="android:backgroundDimEnabled">false</item>
</style>

意思即为不让背景变暗。

(2)通过代码修改Dialog的属性:

WindowManager.LayoutParams layoutParams = myDialog.getWindow().getAttributes();
layoutParams.dimAmount = 0F;
myDialog.this.getWindow().setAttributes(layoutParams);

注意。。。以上代码是没有用的,因为Dialog默认添加了“WindowManager.LayoutParams.FLAG_DIM_BEHIND”,该标记的作用是使位于该窗口下的界面变暗,

因此,

myDialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND):

解决问题。

AndroidbackgroundDimEnabled的作用 主要介绍了AndroidbackgroundDimEnabled的作用的相关资料,希望通过本文能帮助到大家,让大家理解掌握这部分内容,需要的朋友可以参考下 立即下载

相关推荐

android Dialog 自定义style常规属性设置

//backgroundDimEnabled 赋值为true(默认为true)的时候,当dialog弹出的时候,其余地方变暗,赋值为false的时候其余地方正常显示 &lt;item name="android:backgroundDimEnabled"&gt;true&lt;/item&gt; //windowFullscreen 是否全屏显示,“true”为全屏,“false”为不全屏 &l...

jiangshanghuai的专栏 3612

对话框背景变暗属性之backgroundDimEnabled

<style name="MyStyle"> <item name="android:backgroundDimEnabled">true</item> </style> android:backgroundDimEnabled 此属性控制悬浮窗背景是否变暗。参考资料: android:backgroundDimEnab...

bangan1464的博客 958

android:backgroundDimEnabled的作用

[html] view plain copy  print? style name="CustomDialogStyle" parent="@android:style/Theme.Dialog">           item name="android:windowBackground">@android:color/transparentitem>      

张小贝的博客 1万+

Android弹出Dialog使背景变暗的实现方式

背景变暗 WindowManager.LayoutParams lp = getWindow().getAttributes(); lp.alpha = 0.6f; getWindow().setAttributes(lp); getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND); 背景恢复 Window

程序人生 1万+

android dialog弹出屏幕不变暗

最近有个网友问我,dialog对话框弹出来的时候怎么样屏幕不变暗,后来网上搜了下,根据那个方法设根本不管用,而且还被无数次的转载。  Window window = dialogprogress.getWindow(); WindowManager.LayoutParams lp = window.getAttributes();            lp.dimAmount =0f;

1162

android dialog弹出背景透明,AndroidDialog半透明背景消失

近日,遇到一个Dialog半透明背景消失的问题背景需求是自定义Dialog实现警告提示框:// 初始化警告弹出框alertDialog = new EmpAlertView(context, Utils.getIdByName(context, "style", "alert_style"));alertDialog.setCanceledOnTouchOutside(false);Layout...

weixin_42333009的博客 1048

Android中使Dialog显示时背景变暗 .dialog定位显示

有两种方法:都是使用Style指定相关的属性 1.在style中显示的设置 xml version="1.0" encoding="utf-8"?>   resources>       style name="DialogStyle" parent="@android:style/Theme.Dialog">           item name="android

qq_25815655的博客 916

Android Dialog弹出时背景全透明

1:style文件设置 &lt;style name="dialog" parent="@android:style/Theme.Holo.Dialog"&gt; &lt;!-- 是否有边框 --&gt; &lt;item name="android:windowFrame"&gt;@null&lt;/item&gt; &lt;!--是否在悬浮Act

u013908616的博客 2万+

android---Activity仿Dialog

要用Activity去仿Dialog最主要的就是修改这个Acitiviy的主题风格入下: android:theme="@style/MyDialogStyle" 其中MyDialogStyle           @android:color/transparent     //窗口背景颜色         @null           true

zhiwen_xu的博客 527

Dialog 或 Popupwindow 中修改activity的光亮度

我们平时使用的 Dialog 和 Popupwindow 在出现时都会让手机屏幕变暗,但是某些时候我们需要它不要变暗或者变得更加暗应该怎么办呢?这时候就需要修改 Activity 的透明度参数了: /** * 设置Activity的透明度 */ private void setUpWindowAlpha(float alpha) { //获取act...

FritzXu的博客 341

【Compose】隐藏Dialog 组件遮罩层

ok,了解各个属性的含义以后,发现并没有直接控制遮罩层的属性存在。但是usePlatformDefaultWidth属性可以控制是否使用系统平台默认的弹窗宽度,那么我们是不是就可以通过自定义一个占满全屏,但是背景透明的内置组件来实现需求呢?然后发现是Material3主题的问题(Material3主题自带的涟漪-水波纹效果应该也可以通过下面这种方法解决):在项目的XML文件中找到主题配置文件的位置,然后修改该文件。属性很简单,明显properties是关键的配置,所以我们来看一下它的属性。

bald_tang的博客 618

Activity及Dialog的全透明(附android系统自带图标大全)

一.Activity全透明

niejing654092427的专栏 1659

Dialog/DialogFragment宽度高度修改/全屏,自定义样式

其实Dialog, DialogFragment, Activity 能看到的界面,都是基于Window显示的; 也就是修改样式, 都是在修改window的样式; 所以,本质上方法都是一样的,唯一不同的就是获取window对象的方法不一样; Dialog 通过, getWindow() ...

chuanao8829的博客 542

android dialog焦点介绍

当window设置这个flag,window会接收来自window边界之外发送给其他window的点击事件,支持多点触控.当这个flag没有设置的时候,第一下点击则决定了哪个window会接收整个点击事件,直到手指拿开.当设置了这个flag,这每一个点击事件(不一定是第一个)都决定了那个window来接收剩下的点击事件,直到手指拿开.点击事件会被分开传递给多个window.貌似是关于多点触控的。如果不设置这个值,则window消费掉所有点击事件,不管这些点击事件是不是在window的范围之内。

2301_77184740的博客 608

Android-->Dialog/DialogFragment宽度高度修改/全屏,自定义样式

其实Dialog, DialogFragment, Activity 能看到的界面,都是基于Window显示的; 也就是修改样式, 都是在修改window的样式; 所以,本质上方法都是一样的,唯一不同的就是获取window对象的方法不一样;Dialog 通过, getWindow() 获取; Activity 也是通过, getWindow() 获取; DialogFragment 则是g

<angcyo>菜鸟视角 2万+
下一篇: Android:ListView中某行隐藏后仍有行高的问题解决。
IAM_not_devil
博客等级 码龄15年 0粉丝 7原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值