Android 判断屏幕方向一个大坑
2024-09-04 02:55:44
正常的判断屏幕方向的代码:
/** 获取屏幕是否是竖屏
* @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;
}
最新文章
- ZOJ 3686 A Simple Tree Problem
- Linux安装Go语言
- thinkPHP-空操作
- http响应报文和http请求报文 详细信息
- hadoop、hbase、hive、zookeeper版本对应关系
- [原创]如何写好SqlHelper 之终章
- 关键字 const
- Java实现SSO
- 关于 Boolean 的转换
- django post方法不能提交
- docker private registry使用
- 【iOS-Android开发对照】之 数据存储
- iOS7,8 presentViewController 执行慢
- 一些javascript常用方法
- PHOTOSHOP常用快捷键大全
- 史上最全 | 39个RNAseq分析工具与对比
- Java基础方法整理
- NET Core小细节杂记
- rabbitMQ和对应的erlang版本匹配
- 《Go语言实战》摘录:7.3 并发模式 - work
热门文章
- System.Data.SqlClient.SqlException: 从 datetime2 数据类型到 datetime 数据类型的转换产生一个超出范围的值
- JS兼用IE8的通过class名获取CSS对象组
- 简单粗暴的更换固态硬盘及WIN10 Ubuntu双系统
- window下编译ffmpeg
- 如何在win10中安装ArcGIS10.2
- 【CCPC-Wannafly Winter Camp Day4 (Div1) H】命命命运(概率DP)
- c#方法(整理自菜鸟网)
- Maven 引入war工程【work】
- java高并发之CountDownLatch,CyclicBarrier和join
- django+xadmin在线教育平台(八)