Android监听横竖屏切换功能

 更新时间:2018年02月23日 14:09:31   作者:翻滚吧李博  
在这篇文章主要介绍了Android监听横竖屏切换功能,非常不错,代码简单易懂,具有参考借鉴价值,需要的朋友可以参考下

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

横竖屏切换监听效果:

 

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

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

<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方法,加上自己的处理事件。

@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监听横竖屏切换功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • Android传感器数据获取的方法

    Android传感器数据获取的方法

    这篇文章主要为大家详细介绍了Android传感器数据获取的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • Flutter路由的跳转、动画和传参详解(最简单)

    Flutter路由的跳转、动画和传参详解(最简单)

    这篇文章主要给大家介绍了关于Flutter路由的跳转、动画和传参的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • android Imageview 图片覆盖具体实现

    android Imageview 图片覆盖具体实现

    android Imageview 图片覆盖实现及注意事项如下,感兴趣的朋友可以参考下哈
    2013-06-06
  • Android实现TCP客户端接收数据的方法

    Android实现TCP客户端接收数据的方法

    这篇文章主要介绍了Android实现TCP客户端接收数据的方法,较为详细的分析了Android基于TCP实现客户端接收数据的相关技巧与注意事项,需要的朋友可以参考下
    2016-04-04
  • BroadcastReceiver静态注册案例详解

    BroadcastReceiver静态注册案例详解

    这篇文章主要为大家详细介绍了BroadcastReceiver静态注册案例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • Android自定义控件实现万能的对话框

    Android自定义控件实现万能的对话框

    这篇文章主要为大家详细介绍了Android自定义控件实现万能对话框的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • Android 官推 kotlin-first 的图片加载库——Coil的使用入门

    Android 官推 kotlin-first 的图片加载库——Coil的使用入门

    这篇文章主要介绍了Android 官推 kotlin-first 的图片加载库——Coil的使用入门,帮助大家更好的理解和学习使用Android,感兴趣的朋友可以了解下
    2021-04-04
  • Android实现的数字格式化用法示例

    Android实现的数字格式化用法示例

    这篇文章主要介绍了Android实现的数字格式化用法,结合实例形式分析了Android数学运算中数字格式化输出的相关技巧,需要的朋友可以参考下
    2016-08-08
  • gradle配置国内镜像的实现

    gradle配置国内镜像的实现

    这篇文章主要介绍了gradle配置国内镜像的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Android实现从本地图库/相机拍照后裁剪图片并设置头像

    Android实现从本地图库/相机拍照后裁剪图片并设置头像

    玩qq或者是微信的盆友都知道,这些聊天工具里都要设置头像,一般情况下大家的解决办法是从本地图库选择图片或是从相机拍照,然后根据自己的喜爱截取图片,接下来通过本文给大家介绍Android实现从本地图库/相机拍照后裁剪图片并设置头像,需要的朋友参考下
    2016-02-02

最新评论