旋转我的Android手机时,是否可以在屏幕中旋转一些视图?

时间:2012-09-18 06:25:53

标签: android rotation orientation

screenOrientation="portrait"时,它看起来像:

enter image description here

screenOrientation="landscape"时,它看起来像:

enter image description here

您只能看到中心视图已旋转,其他视图未更改。

是否有可能在android中,如果是的话如何实现呢?

2 个答案:

答案 0 :(得分:1)

请参阅:http://developer.android.com/guide/practices/screens_support.html

关于方向的部分

例如:

res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation

res/layout-xlarge-port/my_layout.xml // layout for extra large in portrait orientation

或者在代码中。填写自己更改布局的代码。

的活动:

public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);

    if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
    } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
    }
  }

清单:

<activity android:name=".MyActivity"
          android:configChanges="orientation"/>

答案 1 :(得分:0)

由于您的要求是在不同的布局中以正确的方向查看图像,我建议您旋转图像而不是提供替代资源,这意味着您必须旋转所有内容(我的意思是按钮内的文字必须是旋转。其他组件也一样。)

您可以检测方向变化,只需单独旋转图像视图就可以省去一些工作。

您可以通过在活动清单中指定方向更改来控制方向更改,如下所示。

 <activity android:name=".MyActivity"
      android:configChanges="orientation|screenSize"/>

然后您可以按照klaasvaak的建议覆盖onConfigurationChanged(Configuration newConfig)方法,只需旋转图像即可。您可以按照link查看如何旋转图像。