Android : Dialog中VideoView全屏播放

前几天公司要求在引导页播放视频,如果跳转到activity去进行播放,再返回时生命周期方法调动会不太好,最后改成了在引导页构建一个Dialog,在Dialog中进行VideoView的全屏视频播放。具体代码如下:

private void playVideo(){View dialogView=View.inflate(MainActivity.this, R.layout.activity_splash_video, null);AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this,R.style.SplashErrorDialogTheme);builder.setView(dialogView);builder.setCancelable(false);final  AlertDialog dialog=builder.create();WindowManager.LayoutParams lp = new WindowManager.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);lp.copyFrom(dialog.getWindow().getAttributes());dialog.getWindow().getDecorView().setPadding(0,0,0,0);dialog.getWindow().setAttributes(lp);dialog.getWindow().setWindowAnimations(R.style.AnimSlideBottom);dialog.show();videoView=dialogView.findViewById(R.id.video_view);videoView.setZOrderOnTop(true);Uri uri=Uri.parse("android.resource://" + getPackageName() + "/"+R.raw.startup2);videoView.setVideoURI(uri);videoView.setOnPreparedListener(mp -> {mp.start();mp.setLooping(false);});videoView.setOnCompletionListener(mp -> {if (dialog.isShowing()){dialog.dismiss();}});}

两个style的设置如下:

<style name="SplashErrorDialogTheme" parent="@style/Theme.AppCompat.Dialog.Alert"><item name="android:windowFullscreen">true</item><item name="android:windowIsFloating">true</item><item name="android:windowNoTitle">true</item><item name="android:windowBackground">@android:color/transparent</item><!--动画--><item name="android:windowAnimationStyle"> @style/AnimSlideBottom</item>
</style><style name="AnimSlideBottom" parent="android:Animation"><item name="android:windowEnterAnimation">@anim/dialog_in</item><item name="android:windowExitAnimation">@anim/dialog_out</item>
</style>

第二个只是一个动画的设置,就不贴代码了,你们可以改成Android自带动画就可以,比如:

<style name="AnimSlideBottom" parent="android:Animation"><item name="android:windowEnterAnimation">@android:anim/fade_in</item><item name="android:windowExitAnimation">@android:anim/fade_out</item>
</style>

其实还有一个问题是,在有一些手机上播放视频,状态栏不会覆盖掉,这个问题如果有解决方法希望可以在我这边留言。感谢
注:已解决,设置flags即可。

dialog.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);

Android : Dialog中VideoView全屏播放相关推荐

  1. video标签 或 微软云 azure-media-player 禁止在iphone safari中默认全屏播放

    video标签 或 微软云 azure-media-player 禁止在iphone safari中默认全屏播放 关键代码 webkit-playsinline='true' playsinline= ...

  2. video标签android全屏,视频video标签在移动端微信中默认全屏播放的解决方案

    最近后盾人移动端上线了,开发挺顺利,但也遇到几个小坑. 后盾人中的视频是用video视频标签引入的,当在微信中打开后盾人,播放视频的时候,视频默认会全屏播放. 安卓和ios下都存在此问题,解决方法如下 ...

  3. android 优酷 自动全屏播放,Android用Webview播放优酷视频全屏问题

    在播放优酷视频, 点击全屏的时候, 会黑屏, 而不显示需要全屏的view 试过各种方法, 发现有一些细节需要注意: 1. demo的Manifest Activity需要设置为: 全屏, 横屏 and ...

  4. videoview全屏播放

     VideoView与视频比例缩放: 以前在论坛上也看到有人问过如何实现视频按比例缩放的问题.的确,如果仅仅使用VideoView可能达不到我们想要达到的效果.这就需要我们对VideoView做一 ...

  5. android 优酷 自动全屏播放,Android如何实现仿优酷视频的悬浮窗播放效果

    Android如何实现仿优酷视频的悬浮窗播放效果 发布时间:2020-07-11 10:24:43 来源:亿速云 阅读:228 作者:清晨 这篇文章主要介绍Android如何实现仿优酷视频的悬浮窗播放 ...

  6. android播放器全屏,Android端实现全屏播放的解决办法

    之前碰到过视频播放全屏的问题,但是并没有很好解决,后面做网站时用到过一款视屏播放插件jwplayer,后面把它嵌入mui中实现全屏播放了,仅Android端测试,ios未测试. Loading the ...

  7. android 列表视频播放器,Android------视频播放器(包含全屏播放,快退,快进,腾讯新闻的列表播放等)...

    前段时间做了一个新闻APP,涉及到了列表视频播放,和腾讯新闻APP差不多,总结了一下代码,写了一个Demo来分享给大家. 用了  TabLayout+RecylerView+自定义视频控件完成的 列表 ...

  8. Android VideoView播放 项目中的 视频文件 自动横屏 全屏播放

    记录最近遇到的一个android播放视频的需求: APP主页上方有一个操作演示字样的入口,点击后开始播放一段视频,视频文件是放在工程里的. 话说以前还没做过类似播放视频的功能,根据以往的经验来看,最简 ...

  9. android 4.0以上WebView不能全屏播放视频的解决办法

    上次鄙人做了一个简单的利用webView实现的一个浏览器!其中遇到了两个问题,一个是将浏览器中需要下载的内容托管到系统默认的下载程序进行下载,这个比较简单就不在这里讨论了:另一个问题就是我们的Andr ...

最新文章

  1. 基于Sobel计算图像梯度图
  2. 敏捷、精益、六西格玛之间到底有什么差异?
  3. 《jacascript高级程序设计》笔记:数组方法高级
  4. MATLAB绘图笔记——画立方体的几种方法
  5. 关于数据中台的深度思考与总结,20000 字不到一丢丢。。。
  6. HUE WorkFlow Schedule 调用Hive参数传递,外部参数传递,时间参数传递
  7. 使用python编写自己的进程调试工具
  8. 本硕985非科班渣硕2020腾讯计算机视觉算法实习面经(已获Offer)
  9. 解决 “Microsoft.Jet.Oledb.4.0 找不到提供者 或 未正确安装” 的方法
  10. 分享|2022城市大脑发展白皮书(附PDF)
  11. JS实现复制内容到剪切板,兼容PC和手机端,支持SAFARI浏览器
  12. Android开发仿微信支付宝的支付密码布局
  13. 浅析2017年医疗类APP开发前景
  14. java生成冒泡算法
  15. 自然语言期末复习笔记—Morphological Analysis
  16. BZOJ2244: [SDOI2011]拦截导弹(CDQ分治,二维LIS,计数)
  17. 在操场跑步,逆时针比顺时针更快的原因
  18. 在Web 3D 游戏开发的前端如何快速上手进行
  19. open_files打开输入输出文件
  20. 多普达(dopod)原装配件在线订购中心-搜索结果 P900 2008-08-20

热门文章

  1. 表单提交方式get和post的区别
  2. PhpStorm 的安装使用以及好用的插件 (保姆级教程)
  3. WD(西部数据)硬盘,“必须从您要解锁的硬盘对应的WD Drive Unlock CD 运行WD Drive Unlock应用程序”错误解决办法
  4. 摩天大楼里的云服务器
  5. http://www.magentoing.com/magento%E7%94%A8%E6%88%B7%E6%89%8B%E5%86%8C%E7%9B%AE%E5%BD%95
  6. 一张图弄明白概率函数,概率分布函数(累积概率函数),概率密度函数
  7. “看不见的眼睛”——电脑监控软件能做什么?
  8. How the CLR Creates Runtime Objects
  9. LeetCode 链表的回文结构
  10. HTTP协议是什么?详细解读HTTP看完还不懂你来找我