【发布时间】:2017-10-11 16:02:06
【问题描述】:
我的应用有一个floating search view,它占据了整个屏幕的宽度。当方向为横向时,它将位于导航栏后面,因此我想为其添加一些边距。问题是当我旋转左景观(右侧的导航栏)时,我的浮动视图的右侧部分位于导航栏后面,而当我旋转右景观时,左侧部分被覆盖,所以我需要一个正确的方法来知道要在哪一侧添加更多边距。
我现在有
switch (getWindowManager().getDefaultDisplay().getRotation()) {
case Surface.ROTATION_0:
break;
case Surface.ROTATION_90:
break;
case Surface.ROTATION_180:
break;
case Surface.ROTATION_270:
break;
}
我测试了Surface.ROTATION_90 将是当设备向左旋转时(右侧的导航栏),但我不知道是否所有设备都是这种情况。我似乎找不到任何定义Surface.ROTATION_90 和Surface.ROTATION_270 之间区别的文档。如果有更好的方法让系统自动调整floating search bar 就更好了。将 android:fitsSystemWindows 设置为 true 没有帮助。
【问题讨论】:
-
尝试使用 getResources().getConfiguration().orientation 代替 getWindowManager().getDefaultDisplay().getRotation()
-
@user1865027 找到解决方案了吗?
标签: android