2011-07-31 93 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 
    } 
} 

這樣,你只需要一次實行輪換和所有的視圖都會自動旋轉背景。