2011-07-31 61 views
0

在我的应用程序中,每个屏幕都有一个背景图像。我想为纵向和横向使用相同的图像,但为了使它看起来像样,我需要在横向上将图像旋转90度,以便它不会被拉伸以填充屏幕。Android旋转布局文件中的imageview

我的解决方案是为图像创建两个副本,一个用于放置可绘制端口的肖像,另一个用于绘制可绘制域的景观。现在我有很多不同的背景,我的解决方案就是在apk中嵌入图像的第二个副本,导致apk大小需要更大。

如何支持旋转图像,最好是纯XML格式。在代码中,我想你可以在onStart之前旋转图像,它会起作用,但如果可能的话,我宁愿将它保留在XML中。

感谢您的帮助!

回答

0

我想不出在XML中这样做的方法。但是,如果你创建了一个从哪个查看你申请的背景(比如,RelativeLayout的)继承了一个自定义类,那么你可以做这样的事情

@Override 
protected void onSizeChanged(int newWidth, int newHeight, int oldWidth, int oldHeight) { 
    if (newWidth > newHeight) { // landscape 
     // rotate the background 
    } 
} 

这样,你只需要一次实行轮换和所有的视图都会自动旋转背景。