首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么我的DialogFragment在安卓11中没有全屏显示?

DialogFragment 是 Android 中用于显示对话框的一种特殊 Fragment。在 Android 11 中,由于系统的安全性和隐私保护方面的改进,可能会导致 DialogFragment 在某些情况下没有全屏显示。

出现这种情况的原因可能是 Android 11 引入的新的窗口权限模式,该模式限制了对窗口的访问权限。为了解决这个问题,可以尝试以下几个方法:

  1. 使用 setWindowLayoutStyle() 方法:在 DialogFragment 的 onCreateDialog() 方法中,调用 getDialog().getWindow().setLayout() 来设置窗口的尺寸和位置。可以尝试使用 MATCH_PARENT 来设置宽度和高度,使其充满整个屏幕。
  2. 使用 setWindowAnimations() 方法:在 DialogFragment 的 onCreateDialog() 方法中,调用 getDialog().getWindow().setWindowAnimations() 来设置窗口的动画效果。可以尝试设置适当的动画效果,以确保对话框可以全屏显示。
  3. 检查主题和样式:在 DialogFragment 的 onCreateDialog() 方法中,检查所使用的主题和样式是否适合全屏显示。可以尝试使用 Theme.MaterialComponents.Dialog 或 Theme.AppCompat.Dialog 这样的主题。
  4. 检查适配性:确保你的应用程序在 Android 11 上适配良好。可以使用最新的 Android SDK 和 Android Studio 来构建和调试应用程序,并遵循官方的适配指南。

对于以上提到的解决方法,腾讯云提供了一些相关产品,如:

  • 腾讯移动云适配解决方案:提供了全面的移动适配方案,帮助开发者轻松适配不同的 Android 版本和设备。
  • 腾讯云移动测试服务:提供了丰富的移动测试工具和服务,帮助开发者进行全面的测试和调试。

更多关于 DialogFragment 和 Android 11 的信息,可以参考腾讯云的开发文档:

  • DialogFragment 概念介绍:https://cloud.tencent.com/document/product/....(链接地址)

请注意,以上解决方法和产品链接仅作为示例,具体的解决方案和产品选择应根据实际需求和情况来确定。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

H5案例分享:微信视频播放全屏问题(转)

微信视频播放全屏问题    ios和手机里微信下播放视频时,会遇到不少问题,例如需要手动点击,视频才会播放,并且视频会跳出微信框,出现控制条,如果视频不是腾讯视频,播放完毕会出现腾讯视频广告推送...换句话说,如果APP不设置,你页面中加了这标签也无效,这也就是为什么手机WeChat 播放视频总是全屏,因为APP不支持playsinline,而ISOWeChat却支持。...x5-video-player-type:启用同层H5播放器,就是视频全屏时候,div可以呈现在视频层上,也是WeChat版特有的属性。...至于为什么同层播放只对开放,是因为不能像ISO一样局域播放,默认全屏会使得一些界面操作被阻拦,如果是全屏H5还好,但是做直播的话,诸如弹幕那样功能就无法实现了,所以这时候同层播放概念就解决了这个问题...微信浏览器是X5内核,一些属性标签比如playsinline就不支持,所以始终全屏。    还有个问题,Android微信里面,就算加上了上面的属性,还会出现上下有黑边,不能全屏问题。

6.7K30

三句代码创建全屏Dialog或者DialogFragment:带你从源码角度实现全屏Dialog

全屏Dialog 全屏Dialog实现方法 这里对象分为两种,一种是针对传统Dialog,另一种是针对DialogFragment(推荐),方法也分为两种一种是利用代码实现,另一种是利用主题样式Theme...不让显示Title部分,关键点2就是常用setContentView,关键点3根4就是为了全屏对话框做修改,关键点4必须要放在setContent后面,因为如果放在setContent该属性会被冲掉无效...其实现全屏原理同Dialog一样,只不过是时机把握 public class FullScreen DialogFragment extends DialogFragment { @Nullable...其实View真正显示点是Activity resume时候,让WMS添加View,其实是这里调用WindowManagerGlobaladdView,这里有个很关键布局参数params,其实传就是...创建沉浸式全屏Dialog 全屏Dialog基础上,我们可以创建沉浸式Dialog,也就是让Dialog内容区域延展到状态栏下方,由于这里用到了fitsystemwindow,所以要牵扯DecorView

3.6K40

视频H5 video最佳实践

换句话说,如果APP不设置,你页面中加了这标签也无效,这也就是为什么手机WeChat 播放视频总是全屏,因为APP不支持playsinline,而ISOWeChat却支持。...这里就要补充下,如果是想做全屏直播或者全屏H5体验用户,IOS需要设置删除 webkit-playsinline 标签,因为你设置 false 是不支持则不需要,因为默认全屏。...: 启用同层H5播放器,就是视频全屏时候,div可以呈现在视频层上,也是WeChat版特有的属性。...至于为什么同层播放只对开放,是因为不能像ISO一样局域播放,默认全屏会使得一些界面操作被阻拦,如果是全屏H5还好,但是做直播的话,诸如弹幕那样功能就无法实现了,所以这时候同层播放概念就解决了这个问题...微信浏览器是X5内核,一些属性标签比如playsinline就不支持,所以始终全屏

4.4K30

Android经典面试题之Kotlin中如何隐藏DialogFragment和Dialog导航栏

DialogFragment隐藏导航栏 Android 中,使用 DialogFragment 显示对话框时,如果您希望隐藏系统导航栏(如状态栏和导航键),可以通过设置相关系统 UI 标志来实现。...这需要在 DialogFragment 视图创建和显示过程中配置窗口属性。...") 小结 通过 DialogFragment onViewCreated 方法中设置系统 UI 可见性标志,可以实现隐藏系统导航栏效果。...这种方法允许您 DialogFragment 显示全屏,并隐藏状态栏和导航栏。...通过这些设置,当显示 Dialog 时,它将隐藏系统导航栏和状态栏,实现全屏显示。如果需要在更多场景下多次使用该样式,可以进一步将其封装或抽取为一个通用组件。

9810

手机系统连接电视,最好方案是什么?

电视看视频,才有更好体验。 ? 最近研究了一下,如何把手机画面输出到电视机。下面就是对各种技术方案总结,希望对大家有用。...手机投屏原理是,通过家庭 Wifi,将手机画面传送给显示设备。它必须满足两个前提条件:电视机能够上网,并且与手机同一个局域网。 如果电视机自带系统(或机顶盒有),就可以手机投屏了。...机顶盒就是一个没有屏幕主机,外接电视作为显示设备。因为要用遥控器操作,跟手机触屏操作完全不同,所以机顶盒 App 都需要重新写过,专门适配遥控器和远距离观看。...有些 App 专门做了适配,可以放大到全屏没有做适配 App,只能在一个小窗口使用,不能放大到全屏,这导致有些视频 App 没法全屏看。 ?...它就是一个没有屏幕 Chrome OS 设备。它跟机顶盒最大不同在于,操作系统不同,机顶盒是,它是 Chrome OS,只适合显示器,只能用键盘 + 鼠标操作。 ?

5.1K20

H5直播避坑指南

页面内联播放问题 iOS Safari和一些一些浏览器下播放视频时候,不能在h5页面中播放视频,系统会自动接管视频 如果需要在h5页面内播放视频,需要在视频标签上加上 webkit-playsinline...视频高度问题 下,一些浏览器如QQ浏览器和UC浏览器,系统会把视频层级调到最高,所以如果想在页面上显示dom元素,都会被视频盖住,单纯设置该domz-index是无效,如图所示 ?...但是测试中发现,一些机不支持该属性,如小米手机,所以需要在调用时候进行一下判断 var player = $('#player')[0];if (player.webkitSupportsFullscreen...这种接管后果是这时我们是没有办法控制视频播放,也没有办法在上面浮动我们dom元素,如弹幕,礼物这些,会完全被视频盖在下面,所以我们目标即是解决这种系统接管问题 3)使用伪全屏(样式全屏)...这种模式显示没有太大问题,但因为是通过css控制页面dom显示,对于原生空间不能很好控制,如系统键盘 ?

10.8K151

android刘海屏适配(刘海屏或圆角适配)

大家好,又见面了,是你们朋友全栈君。 P版本也就是刚发布9.0 其中就加入了刘海屏相关API。...这样就导致我们不得不去适配P了。 收到邮件后,查阅谷歌官方资料,更新SDK。其中UI最大改变就是需要适配刘海屏。...但是国内厂商为了快速抢占全面屏手机市场,系统8.1基础上,硬件就弄出了刘海屏,例如华为nova 3e, oneplus 6, oppo r15, vivo x21,但是系统支持没有更上,没有一个统一...如图: 第二张图就是开启模拟选项后显示切口样式,当然这个缺口是模拟,目前真机普遍刘海屏高度90px左右,模拟器模拟刘海屏高度为144px。...因为我们闪屏页一般都是会全屏显示,那我们就需要适配刘海屏上全屏样式了。 坐好了,开始吹一波了。

2K10

H5直播避坑指南

面对着产品同学不断询问:为什么h5体验这么差?为什么不能和app播放体验保持一致?我们对着h5不明确文档和不同浏览器怪异表现欲哭无泪。...页面内联播放问题 iOS Safari和一些一些浏览器下播放视频时候,不能在h5页面中播放视频,系统会自动接管视频 如果需要在h5页面内播放视频,需要在视频标签上加上 webkit-playsinline...视频高度问题 下,一些浏览器如QQ浏览器和UC浏览器,系统会把视频层级调到最高,所以如果想在页面上显示dom元素,都会被视频盖住,单纯设置该domz-index是无效,如图所示 [1498530055801...但是测试中发现,一些机不支持该属性,如小米手机,所以需要在调用时候进行一下判断 var player = $('#player')[0];if (player.webkitSupportsFullscreen...这种模式显示没有太大问题,但因为是通过css控制页面dom显示,对于原生空间不能很好控制,如系统键盘 [1498530770240_8865_1498530770152.png] 在拉起键盘输入弹幕时候

5.4K130

DialogFragment自动弹出软键盘,消失时关闭软键盘

hideSoftInputFromWindow(binding.etChat.windowToken, 0) } 复制代码 DialogFragment显示时弹出软键盘 DialogFragment...显示时有两种方式弹出软键盘: 1、onViewCreated中发送一个延时任务 etChat.postDelayed({ showSoftInput() }, 200) 复制代码 注意:如果直接调用显示键盘不会起作用...,因为这个时候view没有显示出来 2、设置dialogstyle属性 android:windowSoftInputMode <style name="live_editTextDialogStyle...再来看 mServedView不为null<em>的</em>值,发现是<em>我</em> <em>DialogFragment</em> 依附<em>的</em> activity<em>的</em>布局控件,可以理解为当前获取焦点<em>的</em>控件,因此可以传入activity中当前焦点所在<em>的</em>view...最后,还有一种方式就是使用<em>全屏</em>dialog,<em>在</em>原先空白区域加一个透明<em>的</em>View,设置view<em>的</em>点击事件去关闭软键盘和弹窗,这样就避免了点击空白处关闭<em>的</em>问题。

5.1K40

H5 直播避坑指南

页面内联播放问题 iOS Safari和一些一些浏览器下播放视频时候,不能在h5页面中播放视频,系统会自动接管视频 如果需要在h5页面内播放视频,需要在视频标签上加上 webkit-playsinline...视频高度问题 下,一些浏览器如QQ浏览器和UC浏览器,系统会把视频层级调到最高,所以如果想在页面上显示dom元素,都会被视频盖住,单纯设置该domz-index是无效,如图所示 ?...但是测试中发现,一些机不支持该属性,如小米手机,所以需要在调用时候进行一下判断 var player = $('#player')[0];if (player.webkitSupportsFullscreen...这种接管后果是这时我们是没有办法控制视频播放,也没有办法在上面浮动我们dom元素,如弹幕,礼物这些,会完全被视频盖在下面,所以我们目标即是解决这种系统接管问题 3)使用伪全屏(样式全屏)...这种模式显示没有太大问题,但因为是通过css控制页面dom显示,对于原生空间不能很好控制,如系统键盘 ?

2.8K90

Android开发之DialogFragment用法实例总结

方法 ①,一般用于创建替代传统 Dialog 对话框场景,UI 简单,功能单一。 2. 方法 ②,一般用于创建复杂内容弹窗或全屏展示效果场景,UI 复杂,功能复杂,一般有网络请求等异步操作。...无标题栏/全屏 基本用法里代码注释有设置主题地方,下面详细说下两种方法下设置无标题栏和实现全屏方式: 无标题栏 对于方法 ① : @Override public Dialog onCreateDialog...Android 源码说明 */ setStyle(DialogFragment.STYLE_NO_TITLE, R.style.CustomDialog); } 实现全屏(宽/高度全屏) 常用形式大多是宽度上和屏幕一样宽...方法 ① 使用了多线程(例如网络请求)情况下,不能正确获取当前 Fragment 状态,会产生空指针异常。...方法 ② 则没有此问题,而且,其创建方式默认使用了自定义 View,更便于应对复杂 UI 场景。

1.5K20

走进重灾区----video

html5video已经出来很久了。ios上使用基本上没什么毛病,但是下就是一个重灾区了,各种体验差。这几天搞了兼容,简直是要吐血。所以特意总结了一些强势坑点。...坑(本次主要是微信X5浏览器中测试,其他浏览器下表现不一定一致) 自动播放 ios上会自动全屏播放,需要在video标签上设置一个属性 webkit-playsinline,ios10及以上版本属性名改成...上,无法自动播放,必须手动触发视频播放。调用任何方法都没用,据说这个为了帮用户省流量而设定。但是首次触发之后,再次触发可以通过调用 .play 来触发播放视频。...因此做兼容时候可以设一个判断是否首次播放标志来处理。 默认样式 下,不能自动播放,因此视频播放前会带有视频默认白色加圆圈播放按钮且背景是纯黑色,可以说是非常丑陋了。...但是这样体验可以说是非常糟糕了。于是这种情况下,必须舍弃设置全屏播放了,但是X5浏览器非全屏播放模式下,会在视频页面右上角自动生成一个全屏按钮,这个怎么都去不掉。

1.5K00

这个月被「视频播放」坑惨了,曝光八大坑

工作压力大,听一首江南缓解下情绪~ 前言 大家肯定会很奇怪我为什么要写前端东西?因为是一名全栈攻城狮,是不是该贡献点前端实战经验?...同层渲染下生效,支持 DLNA 协议;iOS 支持 AirPlay 和 DLNA 协议;默认为 false。...经测试该属性对 ios 手机有效,手机无效。...该接口使用示例如下: 2.4 全屏横屏播放 在前面学习属性时候,我们知道 enable-auto-rotation 可以实现手机横屏全屏效果,但是这个属性对手机无效,所以放弃了使用这个属性,...enable-auto-rotation: 使用该属性时,要注意该属性对机无效。因为自己用 ios 手机,折腾了很久才发现这个问题。最后使用 api 实现全屏播放功能。

1.8K10

Android 必知必会 - DialogFragment 使用总结

扩展阅读:Dialog 屏幕翻转时处理 无标题栏/全屏 基本用法里代码注释有设置主题地方,下面详细说下两种方法下设置无标题栏和实现全屏方式: 无标题栏 对于方法 ① : @Override public...Android 源码说明 */ setStyle(DialogFragment.STYLE_NO_TITLE, R.style.CustomDialog); } 实现全屏(宽/高度全屏...应用场景区别 文章一开始简单总结了方法 ① 和方法 ② 应用场景,这里说明下: 从基本用法中可以看到方法 ① 为简单替代 Dialog 提供了非常方便创建方式,比方法 ② 有优势 方法 ① 使用了多线程...方法 ② 则没有此问题,而且,其创建方式默认使用了自定义 View,更便于应对复杂 UI 场景。...扩展阅读: 详细解读 DialogFragment Android Dialog/DialogFragment宽度高度修改/全屏,自定义样式 Full Screen DialogFragment in

4K31

锁屏不到2分钟被破解,仅需换一张SIM卡

例如有网友试了试开源系统LineageOS(刷机党常用系统),就发现同样“中招了”: 还有网友自己Android12系统上试了下这种破解方式,“it works”!...小哥和谷歌完整对话链接附在文末了,感兴趣伙伴可以自行查看。(手动狗头) 究竟为什么会出现这样漏洞? 现在,谷歌工程师们终于把这个漏洞给补上了。...△栈原理 这时候,如果使用SIM卡自带PUK密码,就能通过一个叫“PUK重置组件”模块调用.dismiss()函数,将手机锁定解除,并继续显示栈下面的其他屏幕解锁操作,小哥案例中是指纹锁屏。...还有网友发现三星手机也“逃过一劫”: 现在,工程师们重构了.dismiss()函数,简单来说就是给它打个小小补丁,让它只能解锁带有“SimPuk”标记全屏幕(也就是只能解除手机锁定屏幕)。...小哥本人对此没有异议,但也有网友认为,这不是这次漏洞最优解: 永远不要假设任何bug都只有一种特殊情况。如果不解决代码根本逻辑,灾难就一直存在。 你手机中出现了这个bug吗?

1.2K30

Android6.0到9.0适配爬坑总结

2.6.0适配 2.1 怎么适配 ● 6.0所有权限都需要申请?...适配 3.1 应用间共享文件   targetSdkVersion大于等于24App中,但是我们没有去适配7.0。...1)只勾选v1签名就是传统方案签署,但是7.0上不会使用V2安全验证方式。 2)只勾选V2签名7.0以下会显示未安装,7.0上则会使用了V2安全验证方式。...4.1 8.0中PHONE权限组新增两个权限 ANSWER_PHONE_CALLS:允许您应用通过编程方式接听呼入电话。...4.2 通知适配   8.0中,为了更好管制通知提醒,不想一些不重要通知打扰用户,新增了通知渠道,用户可以根据渠道来屏蔽一些不想要通知 兼容代码 /** * 8。

2K30

复杂帧动画之移动端video采坑实现

video 标签中,只要不加 controls 属性,一般是不会显示控制条,这样就看不出来是一个视频了,当然有些机器浏览器的确处于一种失控状态,后面会提到 ○| ̄|_ IOS 视频自动全屏播放...在华为荣耀 8 微信里面,发现了个诡异问题,视频没有播放,同时 video.play 没有 catch 到 error,而是正常执行到了 then 方法,也就是说 play 方法返回成功,然而视频实际没有播放...无奈之下, 针对微信端,视频全部启用兼容模式 论浏览器各种诡异表现 oppo 机视频播放自动悬浮置顶 video 控制条无法隐藏 视频无法控制地自动全屏播放 ......设计: "那就先对所有的都使用兼容模式吧,后面对此优化 于是就这样干掉了所有的 video ios QQ 浏览器视频播放完毕,展示推荐视频 ?...,尤其,一些浏览器对 video 标签进行拦截,并以自己方式实现,或是悬浮置顶播放,或是两个视屏播放冲突,或是控制条无法隐藏,或是播放默认全屏,如果用其它方式可以实现动画尽量还是用其它方式 对于

2.3K10

华为EMUI多窗口模式适配指南

1.2 智慧分屏创新点 华为智慧分屏,原生分屏功能基础上,进行了一系列优化: (1)收编原有分屏入口,提供统一多窗口启动入口,可快速完成应用窗口化启动; (2)为IM类应用消息通知提供悬浮窗入口...2.1 如何声明支持多窗口 华为智慧分屏多窗口适配方法与原生多窗口适配策略相同, 或 节点中添加声明,启用多窗口显示,即可加入到侧边栏dock列表中..."] 官方多窗口适配参考链接: https://developer.android.com/guide/topics/ui/multi-window.html 2.2 正确使用应用资源 开发者适配多窗口模式时...如果在悬浮窗下使用是 Application Context处理UI 相关事情,会导致加载资源无法感知到多窗口而显示异常,而使用Activity Context全屏模式和投屏等模式下依然可以正常显示...在华为智慧分屏或者多窗口模式下,应用顶部有一个功能bar,因此应用在布局时,需要调用原生WindowInsetsListener接口顶部预留一定空间,注意不要使用固定高度。

1.5K30

H5活动宣传页通用布局技术解决方案

本文作者:IMWeb 结一 原文出处:IMWeb社区 未经同意,禁止转载 一般来说,活动宣传页都是全屏滑动,而移动端视窗大小确实是有点零碎化,于是将内容不同手机上良好展示出现就显得有点挑战了...根据caniuse兼容报告,有以下两点需要注意: 4.3- 不支持将background-size缩写进background,所以必须单独申明这个样式 4.3-不支持background-size...= 0.563 iPhone 6 375 ÷ 667 = 0.562 iPhone 6 Plus 414 ÷ 736 = 0.5625 :360 ÷ 640 = 0.5625 所以背景图设计宽高比最好是...发光地球水平铺满 这里将采用图片宽高比方法来解决这个问题,可以参考之前文章: css中如何做到容器按比例缩放 移动端重构实战系列6——icon与图片 核心思想还是利用padding百分比单位计算是基于元素宽度...视窗高度百分比 如果你某个元素定位或大小是基于视窗高度来计算,这就有点麻烦了,尤其是嵌套了好几层情况。 css3提供了一个v系列单位,其中vh就表示视窗高度,但是4.3-不支持。

1.7K50
领券