前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android监听横竖屏切换功能

Android监听横竖屏切换功能

作者头像
砸漏
发布2020-11-03 21:22:56
2.7K0
发布2020-11-03 21:22:56
举报
文章被收录于专栏:恩蓝脚本

偶然在项目中用到播放视频时,需要横屏将视频全屏播放,所以需要监听屏幕的横竖屏切换事件。

横竖屏切换监听效果:

ConfigChanges,用于捕获手机状态的改变,当横竖屏切换,屏幕尺寸变化,弹出键盘,系统设置改变等条件,就会触发回调事件onConfigurationChanged。让Activity捕捉到该事件,需要做如下步骤:

声明Activity需要捕捉的事件类型,在manifest的配置:

代码语言:javascript
复制
<activity android:name=".MainActivity"   android:configChanges="orientation|keyboard|layoutDirection|screenSize" 
   <intent-filter 
    <action android:name="android.intent.action.MAIN" / 
    <category android:name="android.intent.category.LAUNCHER" / 
   </intent-filter 
  </activity 

configChanges配置参数说明:

“mcc“ 移动国家号码,由三位数字组成,每个国家都有自己独立的MCC,可以识别手机用户所属国家。 “mnc“ 移动网号,在一个国家或者地区中,用于区分手机用户的服务商。 “locale“ 所在地区发生变化。 “touchscreen“ 触摸屏已经改变。 “keyboard“ 键盘模式发生变化,例如:用户接入外部键盘输入。 “keyboardHidden“ 用户打开手机硬件键盘 “navigation“ 导航发生了变化。 “orientation“ 横竖屏切换。 “fontScale“ 全局字体大小缩放发生改变

重写Activity中的onConfigurationChanged方法,加上自己的处理事件。

代码语言:javascript
复制
@Override
 public void onConfigurationChanged(Configuration newConfig) {
  super.onConfigurationChanged(newConfig);
  if(newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE){
   Toast.makeText(getApplicationContext(), "横屏", Toast.LENGTH_SHORT).show();
  }else{
   Toast.makeText(getApplicationContext(), "竖屏", Toast.LENGTH_SHORT).show();
  }
 }

Configuration.ORIENTATION_LANDSCAPE 竖屏

Configuration.ORIENTATION_PORTRAIT 横屏

另外:

  • 不设置activity的android:configChanges属性时,切换横竖屏会调用各个生命周期方法,横屏调一次,竖屏调用2次
  • 设置activity的android:configChanges=”orientation“属性时,切换横竖屏会调用各个生命周期方法,横屏调一次,竖屏调用1次
  • 设置activity的android:configChanges=”orientation|keyboardHidden”时,切换横竖屏不会调用各个生命周期方法,只会执行onConfigurationChanged方法

总结

以上所述是小编给大家介绍的Android监听横竖屏切换功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对ZaLou.Cn网站的支持!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-09-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档