4

可能重复:
不希望在手机旋转时破坏/创建活动

我正在尝试编写一个程序,该程序需要在手机四处旋转时平滑方向传感器样本。每次更改手机的方向时,它都会在布局更改时中断数据并冻结程序。如何将其锁定在一个方向(横向或纵向,没关系)?

我认为它与android:layoutxml 文件有关,但我在网上找不到任何东西。

4

5 回答 5

12

最简单的方法之一是在文件中拥有标签的android:screenOrientation="portrait|landscape"
属性。<activity>AndroidManifest.xml

于 2010-05-31T05:54:46.617 回答
6

这个答案对我来说看起来很有希望([android] [screen-orientation]在 SO 搜索框中使用)

于 2010-05-31T05:56:08.540 回答
4

在 java 代码中,它看起来像这样:

super.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
于 2012-03-09T17:20:28.687 回答
2

您可以在清单文件中为特定活动使用此语法:

android:configChanges="keyboardHidden|orientation"
于 2010-05-31T11:57:17.577 回答
1

以上似乎对我不起作用。

我总是使用:-

setRequestedOrientation(0);

更改最后的值将提供水平/垂直锁定。不过,如果在纵向模式下,请确保捕捉到正在清单中打开的键盘,因为它可能会产生意想不到的结果。

于 2010-05-31T06:06:15.707 回答