我正在尝试构建一个始终设置为横向模式的应用程序,因为我的应用程序中没有任何活动,所以我尝试通过更改设备的方向来更改应用程序的方向。 这适用于我的应用程序,但由于我控制整个设备的方向,有些地方受我的代码影响,例如。(在我的设备上,主屏幕从未旋转,但当我将我的代码添加到应用程序时,它开始旋转到景观)
所以我想问的是(在我关闭我的应用程序之后)如何使设备的方向像添加我自己的代码之前通常那样工作?
这是我的代码:
WindowManager wm = (WindowManager) getSystemService(Service.WINDOW_SERVICE);
orientationChanger = new LinearLayout(this);
orientationChanger.setClickable(false);
orientationChanger.setFocusable(false);
orientationChanger.setFocusableInTouchMode(false);
orientationChanger.setLongClickable(false);
LayoutParams orientationLayout = new WindowManager.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 0,
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL
| WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.RGBA_8888);
wm.addView(orientationChanger, orientationLayout);
orientationChanger.setVisibility(View.GONE);
orientationLayout.screenOrientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
wm.updateViewLayout(orientationChanger, orientationLayout);
orientationChanger.setVisibility(View.VISIBLE);
答案 0 :(得分:0)
这是完全矫枉过正的。只需使用screenOrientation
中的Activity
代码的AndroidManifest.xml
属性:
<activity
android:name=".MyActivity"
android:screenOrientation="landscape">