如何将我的应用程序上下旋转180度,将设备旋转180度倒置?

时间:2012-04-03 05:30:50

标签: android android-layout

我开发了一个应用程序并将其方向配置为横向,因此它将始终显示在设备的横向视图中。

现在我想将设备旋转180度倒置,当用户将设备上下颠倒180度时,它会相应调整并正确显示给用户。如果我将设备旋转180度倒置,我的应用程序没有t根据旋转进行相应调整,以便反向显示(从下到上),例如:假设我的活动在顶部有2个文本字段,在底部有2个按钮,所以如果你将设备旋转180度倒置,活动没有相应调整,因此用户可以看到顶部的按钮,文本字段位于底部,这是错误的,它应根据设备旋转调整/旋转,并且必须在顶部显示文本字段,在底部显示按钮。

请提供有价值的解决方案来解决此问题。

此致 皮克斯

2 个答案:

答案 0 :(得分:17)

指定:

android:screenOrientation="sensorLandscape"

AndroidManifest.xml中。这将在landscape和reverseLandscape之间转换应用程序。

答案 1 :(得分:6)

AndroidManifest.xml文件中,您需要配置<activity>以使用传感器的方向。这应该是默认值,但是您可以使用android:screenOrientation="fullSensor"将其强制转换为传感器的所有4个可能方向的方向。见http://developer.android.com/guide/topics/manifest/activity-element.html#screen

编辑:如果您想启用除一个方向以外的所有方向,您可以通过截取方向更改事件并在Activity中撤消该方向来停用该方向:

public void onConfigurationChanged(Configuration config) {
  if (config.orientation != Activity.ORIENTATION_PORTRAIT) {
    setRequestedOrientation(config.orientation);
  {
}

(这是我的头脑,但认为它有效,或者类似的东西。)

您需要告诉Android让应用处理方向更改,<activity> android:configChanges="orientation"