Android--播放视频横竖屏切换的2种方式
Activity的横竖屏切换其实很简单, 如果你的Activity
没有声明android:configChanges
, 那么Activity的方向就会随着手机的旋转而旋转. (手机需要开启自动旋转
功能, 通常在手机的顶部通知栏中)
本来这样就搞定了, 但是….之所以需要自己控制, 是因为横屏
和竖屏
时, 见面的显示需要有所不同.
才需要针对做出处理.
接下来, 就教大家2种界面处理的方式:
为了更好的用户体验, 请在Activity中加上属性android:configChanges="orientation|screenSize"
, 防止手机旋转时, Activity被重建.
1:系统自动处理
如果要让系统自动处理, 横竖屏界面, 只需要一个简单的配置:
创建一个 layout-land
资源文件夹, 里面的xml会在手机横屏时, 自动调用. 其他代码不变. 就完成了界面切换.
注意:findViewById
的时候, 要判断当前方向哦, 要不然会找不到id
,因为xml不一样了.如图:
根据方向, 初始化不同的View
注意:当你调用setContentView
之后, 所有的View
, 都已经重新创建了.
这样会出现一个小问题: 就是视频播放的进度会丢失,此时就需要保存视频播放进度, 方向切换后seekTo
就行了.
2:手动处理
当手机旋转后, Activity
会执行onConfigurationChanged
方法:
@Overridepublic void onConfigurationChanged(Configuration newConfig) {super.onConfigurationChanged(newConfig);initView();}
只需要在这个方法中, 控制想要显示, 或者 想要隐藏的View
.
想这样, 手动控制隐藏跟显示.
好处在于:
1. layout-land
资源文件夹, 不需要, 但是最主要的xml, 要包含横竖屏所有的View
才行.
2. 不需要在手机选装之后重新调用setContentView
了, 因为用之前在onCreate
中设置的就行了.
3. 视频的进度自动保存了, 这一条可能是作用最大的了.
源码地址:https://github.com/angcyo/VideoDemo
如果你想实现在列表中切换横竖屏
, 或者想使用ijkplayer
, 可以参考:https://github.com/xiaoyanger0825/NiceVieoPlayer
联系作者
点此快速加群
请使用QQ扫码加群, 小伙伴们在等着你哦!
关注我的公众号, 每天都能一起玩耍哦!
Android--播放视频横竖屏切换的2种方式相关推荐
- Android开发中横竖屏切换的问题以及系统提供的常用Activity
Android开发中横竖屏切换的问题以及系统提供的常用Activity(总结) 2018年06月28日 16:18:45 北极熊的微笑 阅读数:72 横竖屏切换与状态保存的问题 前面也也说到了App横 ...
- Android 监听横竖屏切换
Android 监听横竖屏切换 重写 Activity 中的 onConfigurationChanged 方法 override fun onConfigurationChanged(newConf ...
- WebView网页视频统一全屏播放及横竖屏切换
WebView 支持 Html5 video 进行全屏播放及横竖屏自动切换 1.检查AndroidManifest.xml清单文件,WebView控件所在的Activity配置信息;检查Activit ...
- Android视频播放器横竖屏切换时遇到的问题记录
我用的播放器是KMedia,一个开源的播放器,链接如下 https://github.com/BlackQi/KMedia 我个人觉得还是很好用的,支持定制.现在遇到一个问题就是播放时横屏铺满全屏视频 ...
- Android监听横竖屏切换
偶然在项目中用到播放视频时,需要横屏将视频全屏播放,所以需要监听屏幕的横竖屏切换事件. ConfigChanges,用于捕获手机状态的改变,当横竖屏切换,屏幕尺寸变化,弹出键盘,系统设置改变等条件,就 ...
- Android视频播放和横竖屏切换
最近做了一个项目,里面用到了视频播放这一块,当时想考虑Vitamio,demo也做了出来,但是后来发现它是商业收费的,并且收费相当可观,所以只能放弃了.然后找到了ijkPlayer,功能也很强大,最终 ...
- 解决Android手机 屏幕横竖屏切换
Android中当屏幕横竖屏切换时,Activity的生命周期是重新加载(说明当前的Activity给销毁了,但又重新执行加载),怎么使屏幕横竖屏切换时,当前的Activity不销毁呢? 1. 在An ...
- android实现自动横竖屏切换,android 中实现横竖屏切换【原创】
我们在使用android手机的时候,发现一些应用有横竖屏切换的功能,一般实现有以下几种方法: 一.设置 1.通过XML设置横竖屏切换 在项目的 AndroidManifest.xml中找到你所指定的a ...
- Android 11---WMS之横竖屏切换流程详解之一
本文以Activity.setRequestedOrientation为入口梳理下横竖屏切换的详细流程. 代码均是基于最新的11.0版本. 第一篇主要讲了横竖屏切换时的准备操作: 更新方向,执 ...
最新文章
- vi查找替换命令详解
- 基于物化视图优化_CVPR2017|基于构造多视图子空间中的潜在表示解决聚类问题
- javaone_JavaOne 2016 Essentials:您不应该错过的7个事件和会话
- linux安装telnet组件,LINUX下如何安装telnet
- 如何快速python入手_初学者怎么才能快速学会Python?
- 苏宁大数据怎么运营_【苏宁大数据部门怎么样?进去能学到技术吗?】-看准网...
- C++特殊符号:【优先级】
- python入门——P45魔法方法:属性访问
- mysql 无法启动时,或尝试mysqld_safe --user=root
- 如何将pdf转换成txt破解版
- 查阅我们JavaScript学习新指南
- Mentor Xpedtion partsymbolcell
- SpringBoot简明教程
- 前端每日实战:77# 视频演示如何用纯 CSS 创作旗帜飘扬的动画
- 二极管ss14测量_开关二极管怎么测量好坏
- vue使用vue-video-player播放视频及遇到的问题
- TIA博途_STEP7版本的升级与移植相关难点汇总
- dedecms织梦tag标签当前列表地址
- Unity:Firebase接入Google登录
- 京东开放平台Java SDK jd-open-sdk 的引入与使用