最近的项目都是一些平板项目,因此我把每个页面都是写死了方向
android:screenOrientation="landscape"
不过,后来老板又提出一些页面最好可以竖屏显示,这样免不了就要在写一套布局,这都不是事,本来很简单的一件事,结果把我整郁闷了,screenOrientation 这个属性失效了,结果百度了一大堆方案,怎么着都不行,最后在简书上发现了解决方案
在activity中重写屏幕旋转的方法,里面什么都不写就ok了
public void setRequestedOrientation(int requestedOrientation){
return;
}
这个方案我始终也不明白,但是确实很好用,为了避免自己忘记,还是记录一下
顺便也复习一下screenOrientation的一下属性值吧
"unspecified"
- 默认值. 由系统选择显示方向. 在不同的设备可能会有所不同.
"landscape"
- 横向
"portrait"
- 纵向
"user"
- 用用户当前的首选方向
"behind"
- 与在活动堆栈下的活动相同方向
"sensor"
- 根据物理方向传感器确定方向. 取决于用户手持的方向, 当用户转动设备, 它跟随改变
"nosensor"
- 不经物理方向传感器确定方向. 该传感器被忽略, 所以當用户转动设备, 显示不會跟随改变. 除了这个区别,系统选择使用相同的政策取向对于“未指定”设置. 系统根据“未指定”("unspecified")设定选择相同显示方向.