如何为两种景观定义不同的布局?
How can I define different layouts for both landscapes?
我正在尝试为右横向和左横向定义两种不同的布局。就像在计算器应用程序中,两个方向都显示不同的按钮。我尝试过 layout-land 但这只适用于一种横向布局。我是新手,这是我的第一个应用程序,所以请帮忙。
-您可以制作两种布局,一种用于右侧,另一种用于左侧并检测方向:
private void getScreenRotationOnPhone() {
final Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
switch (display.getRotation()) {
case Surface.ROTATION_0:
System.out.println("SCREEN_ORIENTATION_PORTRAIT");
break;
case Surface.ROTATION_90:
System.out.println("SCREEN_ORIENTATION_LANDSCAPE");
break;
case Surface.ROTATION_180:
System.out.println("SCREEN_ORIENTATION_REVERSE_PORTRAIT");
break;
case Surface.ROTATION_270:
System.out.println("SCREEN_ORIENTATION_REVERSE_LANDSCAPE");
break;
}
}
- 上面的代码正在检测方向,您可以根据旋转设置布局
-如果对您有帮助请告知或投票谢谢!!
我正在尝试为右横向和左横向定义两种不同的布局。就像在计算器应用程序中,两个方向都显示不同的按钮。我尝试过 layout-land 但这只适用于一种横向布局。我是新手,这是我的第一个应用程序,所以请帮忙。
-您可以制作两种布局,一种用于右侧,另一种用于左侧并检测方向:
private void getScreenRotationOnPhone() {
final Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
switch (display.getRotation()) {
case Surface.ROTATION_0:
System.out.println("SCREEN_ORIENTATION_PORTRAIT");
break;
case Surface.ROTATION_90:
System.out.println("SCREEN_ORIENTATION_LANDSCAPE");
break;
case Surface.ROTATION_180:
System.out.println("SCREEN_ORIENTATION_REVERSE_PORTRAIT");
break;
case Surface.ROTATION_270:
System.out.println("SCREEN_ORIENTATION_REVERSE_LANDSCAPE");
break;
}
}
- 上面的代码正在检测方向,您可以根据旋转设置布局
-如果对您有帮助请告知或投票谢谢!!