Android开发进阶其他Android直播篇

Android视频播放或直播时重力感应横竖屏切换

2017-02-18  本文已影响2919人  笑说余生

开发时遇到播放视频要用重力感应来横竖屏,并且要有按钮点击横竖屏,查了很多资料,并参考了网上一些实现思路,终于把重力感应横竖屏完整实现,现封装成工具类,可以直接使用。

一、实现原理

既然是重力感应横竖屏,那就肯定要有重力感应,重力感应属于传感器的一类,所以需要用到重力感应传感器,不清楚的同学可以google一下。

由于视频播放或者直播页面一直都需要重力感应,所以还需要绑定播放页面的生命周期来注册重力感应和注销重力感应。这样当注册重力感应后,就可以获取当前屏幕的朝向角度,根据这些角度来判断哪个范围需要横竖屏。

二、实现逻辑

2.1 打造工具类ScreenRotateUtil

2.2 重力感应传感器

Android提供了多种传感器,这里只是简单介绍一下重力感应传感器,想了解更多请传送

2.3 横竖屏处理

三、使用教程

  1. Activity的onResume()方法调用start()方法进行注册监听
  2. Activity的onPause()方法调用stop()方法注销监听
  3. 点击全屏按钮时调用toggleRotate()自动切换横竖屏
  4. 如果需要手机系统的横竖屏按钮生效则调用setEffetSysSetting(true)

四、总结

关于重力感应横竖屏其实并不是很难,根据实际的需求去做,一步一步考虑逻辑。
这个工具类也基本上是没用什么bug,也可以直接拿去用。如果对你有用可以到我的Github给个star哦,有什么问题欢迎issues哦。

我的主页
Demo下载

上一篇下一篇

猜你喜欢

热点阅读