正常的判断屏幕方向的代码:

    /** 获取屏幕是否是竖屏* @return*/@SuppressLint("SwitchIntDef")public boolean isScreenPortrait(){int or = getRequestedOrientation();switch (or) {case ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE :// 横屏case ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE:return false;case ActivityInfo.SCREEN_ORIENTATION_PORTRAIT :// 竖屏case ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT:return true;default:return true;}}

但是在onConfigurationChanged

        switch (newConfig.orientation) {case ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE :// 横屏case ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE:APP.isScreenPortrait = false;break;case ActivityInfo.SCREEN_ORIENTATION_PORTRAIT :// 竖屏case ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT:APP.isScreenPortrait = true;break;}

我就很随意的这样写了,本来我都不想测试,我觉得一定是对的。然后跑了一下程序,发现,是错的。我点击去
onConfigurationChanged(Configuration newConfig) 的switch (newConfig.orientation) 这个类,发现:

    /*** Overall orientation of the screen.  May be one of* {@link #ORIENTATION_LANDSCAPE}, {@link #ORIENTATION_PORTRAIT}.*/public int orientation;

发现这里的值只能是#ORIENTATION_LANDSCAPE}, {@link #ORIENTATION_PORTRAIT其中的一个。啊,自己的无知。应该去点进去看看人家会传递回来什么信息的。然后正确的判断是:

        switch (newConfig.orientation) {case Configuration.ORIENTATION_LANDSCAPE :// 横屏APP.isScreenPortrait = false;break;case Configuration.ORIENTATION_PORTRAIT :// 竖屏APP.isScreenPortrait = true;break;}

Android 判断屏幕方向一个大坑相关推荐

  1. android获取键盘状态,Android获取屏幕方向及键盘状态的小例子

    Android获取屏幕方向及键盘状态的小例子 复制代码 代码如下: Configuration config = getResources().getConfiguration(); if (conf ...

  2. Android通过屏幕方向和摄像头方向实现屏幕预览

    Android通过屏幕方向和摄像头方向实现屏幕预览 1. 前言 2. Android 的屏幕方向 2.1 什么是屏幕方向 2.2 为什么要获取或设置屏幕方向 2.3 如何获取与设置屏幕方向 2.3.1 ...

  3. Android 锁定屏幕方向 横向或竖向 支持Android10

    Android 锁定屏幕方向 横向或竖向 支持Android10 前言 解决方法 自定义style 修改Activity 修改AndroidManifest.xml 完事 前言 显然,你应该知道百度搜 ...

  4. android+note2+分辨率,Android自适应屏幕方向、大小和分辨率

    屏幕大小 1.不同的layout Android手机屏幕大小不一,有480x320,640x360,800x480.怎样才能让App自动适应不同的屏幕呢?其实很简单,只需要在res目录下创建不同的la ...

  5. android+改变屏幕方向,Android改变手机屏幕朝向的方法

    本文实例讲述了Android改变手机屏幕朝向的方法.分享给大家供大家参考.具体如下: 模拟当点击按钮时,使手机朝向发生改变. main.xml布局文件: android:orientation=&qu ...

  6. android 判断滑动方向,H5触摸事件判断滑动方向

    为了给触摸界面提供有力支持, 触摸事件提供了响应用户对触摸屏或者触摸板上操作的能力. 接口 TouchEvent TouchEvent 是一类描述手指在触摸平面(触摸屏.触摸板等)的状态变化的事件.这 ...

  7. android自适应屏幕方向,Android 屏幕自适应方向尺寸与分辨率-Fun言

    摘要:  Android 屏幕自适应方向尺寸与分辨率,android 自适应分辨率,android 屏幕自适应,android 图片自适应,android 横屏布局,包括屏幕界面布局.多分辨率支持.获 ...

  8. Android判断屏幕状态与屏幕解锁和锁定

    主动判断屏幕是否亮着: public boolean isScreenOn(Context context) {      PowerManager pm = (PowerManager) conte ...

  9. android 获得屏幕方向,Android 获取设置屏幕横竖屏

    Android 获取设置屏幕横竖屏 发布时间:2020-08-06 03:23:17 来源:51CTO 阅读:351 作者:huyanruirui 方法一: screenOrientation = a ...

最新文章

  1. 扩增子统计绘图8网络图-MENA
  2. shell脚本自动回车_干货分享:Linux shell脚本分享!!快收藏起来吧
  3. 【洛谷习题】南蛮图腾
  4. 计算机硬件配置和软件有哪些,BIM软件对电脑硬件配置有什么要求?
  5. java拼图游戏Mian_Java拼图游戏源码 MainApp启动器 main(): 创建主界面类对 联合开发网 - pudn.com...
  6. spring4笔记----依赖注入的两种形式
  7. AnyChat视频直播系统全面分析
  8. 【PHP】Ajax跨域解决方案 、jsonp、cors
  9. svn回退到上一个版本_Git汇总--对象及版本库存储
  10. 微信小程序——通过百度API查询天气情况
  11. mycat 读写分离 处理延时
  12. 小学生数学测试软件论文,测试数学论文,关于小学生数学基本能力测试量表的贵族常模制订相关参考文献资料-免费论文范文...
  13. PxCook的基本使用
  14. 最小割的必须割边和可行割边
  15. AGI STK使用本地地形和地图
  16. STM32Cube程序使用 DFU 烧写后Leave DFUMode无法运行程序
  17. maven clean、install命令
  18. 骚操作!公司招聘运营称已婚双休未婚单休
  19. 操作系统知识总结一(OS概述)
  20. 短信java_Java发送手机短信(附代码和解析,亲测有效,简便易操作)

热门文章

  1. c efcore.mysql_EF Core在mysql中调用存储过程
  2. C++编程进阶2(编译器在类内默认生成的函数讨论以及纯虚析构函数)
  3. linux启动自动挂载共享文件,linux中自动挂载windows 共享目录
  4. solidworks经典实例网盘下载_Solidworks自学视频教程(附源文件)讲解详细到位,成就设计高手...
  5. python编程语言基础
  6. iPhone销量低迷,或导致苹果放弃自动驾驶项目?
  7. Spring MVC GET 从客户端数据到服务器端的乱码和服务器端数据到客户端的乱码
  8. 每天一个linux命令(9):touch命令
  9. ios appIcon配置
  10. Android 动态生成 EditTest