布局文件中的Android屏幕方向

时间:2018-12-20 11:53:31

标签: android android-layout android-orientation

所以我遇到了这样的问题,我想将AndroidManifest.xml中的布局默认方向设置为横向,但是某些布局的纵向方向设置为纵向,但是当我添加android:screenOrientation="portrait"时,它不会覆盖清单配置有没有解决的办法?主要想法是让平板电脑布局强制使用横向布局,而手机布局则强制使用纵向布局。

以下是同一款平板电脑和手机应用程序的示例,请注意,平板电脑如何强制将布局定向为横向,并且在旋转设备时不会旋转。并且手机已锁定为纵向,并且在旋转设备时不会旋转 enter image description here

1 个答案:

答案 0 :(得分:0)

您可以使用setRequestedOrientation,但必须启用横向旋转功能:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

考虑到平板电脑大于6.9英寸,计算屏幕尺寸(我在应用程序中使用了此尺寸):

 DisplayMetrics dm = new DisplayMetrics();
 getWindowManager().getDefaultDisplay().getMetrics(dm);
 double x = Math.pow(dm.widthPixels / dm.xdpi, 2);
 double y = Math.pow(dm.heightPixels / dm.ydpi, 2);
 double screenInches = Math.sqrt(x + y);