如何在纵向/横向更改中旋转imageView

时间:2015-08-11 20:58:42

标签: android android-layout android-orientation

我有一个android:rotation的布局,我希望在横向和纵向方向上保持相似,例如这个图:

Embedded Compact documentation

我使用两种类似的布局(布局和布局 - 地面)。在第二个布局中,我在下面的代码中添加<ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:rotation="90" android:scaleType="fitXY" android:src="@drawable/background_agogo" /> 参数,但结果如下:

Portrait and landscape layouts

{{1}}

是否可以仅使用xml布局文件旋转图像视图?我怎么能这样做?

2 个答案:

答案 0 :(得分:2)

尝试将android:configChanges="orientation|screenSize"添加到AndroidManifest.xml

中的活动xml中

然后在你的片段/活动中,无论包含ImageView,覆盖public void onConfigurationChanged(Configuration newConfig)并在那里你可以检查if(newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE)然后你可以用编程方式旋转你的ImageView image.setRotation(90)注意setRotation需要API 11或更高。否则,请参阅此答案以了解如何以编程方式旋转:https://stackoverflow.com/a/10104318/4898635

有关处理运行方式更改(例如方向)的更多信息,请查看:http://developer.android.com/guide/topics/resources/runtime-changes.html

答案 1 :(得分:0)

而不是使用

android:src = "@drawable/background_agogo"

使用

android:background="@drawable/background_agogo"

使用背景属性时,图像应拉伸以适合图像视图。