我有一项活动应始终以横向模式显示.所以我补充道android:screenOrientation="landscape".
但问题是当我将设备旋转180度时,显示屏会反转.有没有办法处理这个问题,以便始终正确显示屏幕元素.
Cas*_*eyB 57
实际上你真正想要的是指定:
android:screenOrientation="sensorLandscape"
Run Code Online (Sandbox Code Playgroud)
在AndroidManifest.xml中.这将在横向和反向景观之间捕捉时收听传感器数据.
ann*_*nie 10
其他人提到sensorLandscape...要在您的活动(或基本活动)中以编程方式执行此操作,您可以将您的方向设置为:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
Run Code Online (Sandbox Code Playgroud)
我正在这样做onResume().当您在活动中间将设备翻转180度而不必使用时,这将尊重横向和反向横向onConfigurationChanged().
这对我有帮助,因为对于平板电脑我只需要横向/横向反转,对于手机我只需要纵向/纵向反转,并且不想做两个单独的AndroidManifest文件.ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT也存在.
所以只为每个人提供信息,这就是我所做的.
Run Code Online (Sandbox Code Playgroud)Display display = ((WindowManager) getSystemService(WINDOW_SERVICE)).getDefaultDisplay(); int orientation = display.getRotation(); if(orientation==Surface.ROTATION_180) { setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE); }
这样,即使用户将设备颠倒,我的屏幕也始终正确定位.
| 归档时间: |
|
| 查看次数: |
19067 次 |
| 最近记录: |