视频旋转最终章

前记

项目中有视频旋转的功能需求,当初重构的时候对视频这块不太熟,直接抄的原来项目中的,原来项目中使用的开源项目RotateLayout,效果还行,就是实现起来写了一大坨代码,后来重做了一次发现系统原生的视频旋转实现效果真是比他好太多。

解决方案

由于全屏要去除状态栏和ActionBar,所以还的了解下隐藏/显示状态栏的代码

隐藏状态栏

getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);  

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN, WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);

显示状态栏

getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);       

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

配置Activity
主要配置configChanges属性,screenOrientation默认竖屏

<activity
        android:name=".mvp.videoplay.v.VideoPlayActivity"
        android:configChanges="orientation|screenSize|smallestScreenSize|keyboard|keyboardHidden|navigation"
        android:screenOrientation="portrait"
        android:windowSoftInputMode="stateAlwaysHidden" />

切换为横屏
当然也可以切换为横屏的反方向,具体代码不贴了

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

切换为竖屏
当然也可以切换为竖屏的反方向,具体代码不贴了

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

处理转屏后的事件

重写onConfigurationChanged,改变播放器的尺寸

 @Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
    if (newConfig.orientation == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) {
        //横屏切换到竖屏
    } else {
        //竖屏切换到其他方向
    }
}

后记

代码能用系统自带的尽量用系统自带的,少用库
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,668评论 4 61
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,268评论 25 709
  • 你喝奶茶吗? 喜欢吃甜品吗? 每天会看偶像剧? 你很迷恋言情小说? 这些都没什么。问题的关键是: 一天不喝奶茶是不...
    面团妮妮阅读 7,777评论 2 0
  • 第一幅素描作品,记录一下,看到自己的进步,并以此激励自己,希望越来越棒٩(๑`н´๑)۶ 下面的两幅小图是老师的讲...
    Sarahlie阅读 4,225评论 0 1
  • 有人说时间可以改变一切,那就让时间作帆,引领两个人各自寻求它的港湾。总之,愿她过的幸福. 不知道要向你说多少声"对...
    顺着风飞翔阅读 2,801评论 0 3

友情链接更多精彩内容