当前位置: 首页 > 知识库问答 >
问题:

背景清晰的DialogFragment(未变暗)

晏卓君
2023-03-14

我试图使DialogFragment的背景完全清晰。

通过将样式项android:windowisflating设置为true(默认值),dialogfragment完全按照我所希望的方式显示,但背景非常暗。

通过将android:windowisflowing设置为false,我可以得到我想要的清晰背景,但是DialogFragment会扩大到屏幕的95%左右,在它周围只留下一个很小的空隙,你可以看到它覆盖的视图。

我试过很多次的调整,但似乎无法改变这种行为。

我是否需要使用popupwindow来实现所需的效果,或者是否有一些我可以重写的样式项?

共有1个答案

汲丰茂
2023-03-14

对我起作用的是调整DialogFragment的OnStart()中的WinowManager.LayoutParams:

@Override public void onStart() {
    super.onStart();

    Window window = getDialog().getWindow();
    WindowManager.LayoutParams windowParams = window.getAttributes();
    windowParams.dimAmount = 0.90f;
    windowParams.flags |= WindowManager.LayoutParams.FLAG_DIM_BEHIND;
    window.setAttributes(windowParams);
}
 类似资料:
  • 自动识别图像进行人脸变清晰处理模式一 返回二进制文件流模式二 返回base64字符串模式三 通过图片url返回base64结果 人脸变清晰API调用示例代码 github地址: https://github.com/picup-shop cURL Python PHP Java nodejs .net Objective-C curl -H 'APIKEY: INSERT_YOUR_API_KEY

  • 问题内容: 只是一个简单的问题: 如何清除外壳中的屏幕?我见过类似的方式: 这只是打开Windows cmd,清除屏幕并关闭,但是我希望清除外壳窗口 (PS:我不知道这有帮助,但是我使用的是Python 3.3.2版) 谢谢:) 问题答案: 对于macOS / OS X,您可以使用子进程模块并从外壳程序中调用“ cls”: 为了防止在窗口顶部显示“ 0”,请用以下内容替换第二行: 对于Linux,

  • 渐变背景也是CSS3 的新特性,通过它可以在不使用图像的情况下,创建从一种颜色到另一种颜色的过渡。使用渐变的好处是,可以减少对图像的依赖,进而降低浏览网页时的带宽消耗,提高网站的访问速度。 渐变,就是两种或多种颜色之间的平滑过渡。在创建渐变时,可以指定多个中间颜色值,这些值称为色标。每个色标包含一种颜色和一个位置,浏览器自动从一个色标的颜色,平滑过渡到下一个色标的颜色。 在CSS3中,只需将 ba

  • 获得场景视频可为客户转出“普通”“清晰”“高清”“pad”“phone”五种的清晰度,转出越多占用空间越大,您可根据实际需求具体选择。 在该页面,您可为用户设置默认清晰度,以满足效果和成本的平衡。 默认码率和对应视频尺寸见下表: 清晰度规则: · 您上传的视频源文件视频码率高于512kbps或分辨率大于640×480才能转换出高清视频; · 对于多种清晰度的视频,获得场景视频服务平台支持您设置您帐

  • 问题内容: 应该是一个相当简单的问题。在我的网站上,我这样做: 我想做的是使背景图像变暗。由于我在该DIV中包含UI元素,因此我认为我真的不能在其上放置另一个div来使其变暗。有什么建议吗? 问题答案: 您可以将CSS3 LinearGradient属性与背景图像一起使用,如下所示: 这是一个演示:

  • 问题内容: 考虑以下测试用例,其中一个float元素和一个inline元素放置在a 与a之内: 呈现时,字段集的高度为200像素(它们清除浮点数了吗?),而div的高度仅与内联元素一样高。造成这种现象的原因是什么,是否有一种解决方法可以使这些字段集像div一样起作用? 问题答案: 显然,元素应该为其内容生成块格式上下文: 期望该元素建立新的块格式化上下文。 这就是为什么浮动元素不会从其中浮动出来的