![](/img/trans.png)
[英]How can i identify pdf orientation whether landscape or portrait using itextsharp library in C#
[英]How to detect whether Android device is locked in portrait or landscape orientation
如果在Android设备中自动旋转选项已关闭 - 如何检查用户是选择以纵向还是横向模式锁定设备?
当用户更改设置时,我不能依赖设备所处的实际方向 - 在某些设备(主要是手机)中,只有纵向锁定,即使设备处于横向也会打开。
我使用这段代码,但只有在自动旋转打开或关闭时才返回,但不是实际的锁定方向。
这适用于在Unity中开发的应用程序,因此Unity和Android本机建议都将受到赞赏。
谢谢!
private static bool DeviceAutoRotationIsOn()
{
using (var actClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
{
var context = actClass.GetStatic<AndroidJavaObject>("currentActivity");
var systemGlobal = new AndroidJavaClass("android.provider.Settings$System");
var rotationOn = systemGlobal.CallStatic<int>("getInt",
context.Call<AndroidJavaObject>("getContentResolver"), "accelerometer_rotation");
return rotationOn == 1;
}
}
如果您需要针对应用程序的特定方向(如肖像或横向),则可以使用android:screenOrientation在清单文件上进行设置。
要获得当前的方向:
科特林
val display = (baseContext.getSystemService(Context.WINDOW_SERVICE) as WindowManager).defaultDisplay
val rotation = display.rotation
Java的
Display display = ((WindowManager) context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
int rotation = display.getRotation();
结果可能是:
Surface.ROTATION_0
Surface.ROTATION_90
Surface.ROTATION_180
Surface.ROTATION_270
90和270为景观
0和180为肖像
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.