“旋转储物柜”如何运作?

时间:2012-04-28 15:17:10

标签: android android-layout android-intent android-widget

我刚刚安装了应用程序Rotation Locker。这是一个简单的应用程序,但它工作得非常好。它可以强制所有其他应用程序以横向或纵向模式运行。 我正在努力弄清楚它是如何做到这一点的。有人可以告诉我吗?

2 个答案:

答案 0 :(得分:1)

将来自其他帖子的数据拼凑在一起我能够如何为我正在编写的应用程序解决这个问题。 (Force Dock Rotation,如果你有兴趣)。

我的解决方案涉及创建一个窗口并将其插入视图层次结构的顶部,这样您就可以在另一个应用尝试设置之前先获取方向的声音...

orientationChanger = new LinearLayout(this);
// Using TYPE_SYSTEM_OVERLAY is crucial to make your window appear on top
// You'll need the permission android.permission.SYSTEM_ALERT_WINDOW
WindowManager.LayoutParams orientationLayout = new WindowManager.LayoutParams(WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY, 0, PixelFormat.RGBA_8888);
// Use whatever constant you need for your desired rotation
orientationLayout.screenOrientation = ActivityInfo.SCREEN_ORIENTATION_SENSOR;

WindowManager wm = (WindowManager) this.getSystemService(Service.WINDOW_SERVICE);
wm.addView(orientationChanger, orientationLayout);
orientationChanger.setVisibility(View.VISIBLE);

相信这个灵感的答案:How can I globally force screen orientation in Android?

答案 1 :(得分:0)

您可以按住SEARCH按钮或其他按钮。

这是它在HTC Desire上的工作方式