2013-11-25 75 views
0

我開發的Android應用和測試了兩個設備:的Android - 手動選擇佈局類型

銀河S2 320x533dp 銀河S4 360x640dp

兩者都是「正常長」顯示器,但由於S2是短比S4,我不能使用完整的S4屏幕。 我寧願給S2「正常不長」的佈局。 我該怎麼做?

回答

0

顯然,使用縮放佈局是很好的,例如, RelativeLayout的。如果您使用的佈局類型不符合您的期望,您也可以在onCreate()方法中選擇佈局。

//in onCreate() 
Display display = getWindowManager().getDefaultDisplay(); 
Point size = new Point(); 
display.getSize(size); 
int width = size.x; 
int height = size.y; 
if (/*condition whether dimensions match certain phone*/) { 
    setContentView(R.layout.first); 
} else { 
    setContentView(R.layout.second); 
} 

但我完全會試圖避免這樣的事情。你將不得不手動涵蓋許多不同的維度,這是很多的工作,顯然是不好的做法。嘗試使用縮放的東西!

+0

您的方式不起作用,因爲我的佈局具有相同的名稱,但位於不同的文件夾中。 「佈局」和「佈局長」。 我使用RelativeLayout,但它仍然太長,因爲元素之間的間距是在dp中。 – Flo