我的应用程序有一个占满屏幕宽度的浮动搜索视图,它使用floatingsearchview库。当屏幕方向为横向时,导航栏会遮挡它,因此我想给它添加一些边距。问题是,当我将屏幕旋转到左侧横向(导航栏在右侧)时,我的浮动视图的右侧部分被导航栏遮挡,而当我将屏幕旋转到右侧横向时,左侧部分被遮盖,因此我需要一种正确的方法来确定哪一侧需要添加更多的边距。
目前我已经有了:
我测试了设备左转时(导航栏在右侧),
目前我已经有了:
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
之间的区别。如果有更好的方式让系统自动调整浮动搜索栏,那就更好了。将 android:fitsSystemWindows
设置为 true 并没有帮助。
context.resources.configuration.orientation
将是通过从LocalContext.current
(即context
)派生的属性访问来解决它的方法。 - Rik