2011-09-15 45 views
2

在我的應用程序中,我有一個圖像作爲背景。當應用程序處於肖像模式時,沒關係。但是當它處於橫向模式時,圖像會轉動並拉伸。更改方向時不要更改背景

我知道我們可以使用layout-land文件夾,但是對於這個解決方案,我所有的佈局都只是一個圖像的雙倍(不是很合乎邏輯..)。

有沒有另一種解決方案?

PS:我的形象只是一個碳質感,所以,一個解決方案,以防止它與方向轉動將是好的。

編輯:

hotveryspicy,你的解決方案的工作,但也有其具備的使用性能機器人活動:configChanges =「方向」(在清單),它不爲他們工作。如何解決這個問題?

事實上,我使用這個屬性來保存方向改變時的狀態,但它不是這樣做的好方法。我需要使用onSaveInstanceState。

在此期間,有沒有一種解決方案可以讓我保留這個不好的解決方案?

回答

0

我懷疑這是可以做你所描述的。你已經排除了唯一可能的解決方案(佈局土地)。這是我猜想的唯一方法。

2

雅,在的onCreate()

Display mDisplay= activity.getWindowManager().getDefaultDisplay(); 
int width= mDisplay.getWidth(); 
int height= mDisplay.getHeight(); 

if(width>height) 
{ 
//Landscape 
//set landscape compatible image 
} 
else 
{ 
//Portrait 
//set portrait compatible image 
} 
+1

這不適用於屬性爲android的活動:configChanges =「orientation」 – HerrM

+0

參考這個http://stackoverflow.com/questions/7295804/is-that-possible-to-check-was-oncreate-called-因爲-的取向變化/ 7397085#7397085 –

1

難道做的伎倆,如果你放置背景圖片的替代版本爲drawable-land res文件夾先檢查方向是什麼?這樣您仍然可以使用相同的佈局文件並參考其中的@drawable/background