2009-12-12 46 views
3

使用Android,您可以通過適當命名res目錄來爲不同的電話屬性定義不同的資源。我需要能夠支持480x800480x854的不同佈局。我想我可以有一組資源存儲在layout-hdpi-v4目錄中,另一組資源存儲在layout-long-hdpi-v4中。但是,兩種解決方案似乎都認爲它們很長(至少基於模擬器,我知道它可能不能準確反映設備)。Android如何定義長時間的屏幕分辨率?

是否有另一種方法可以區分兩種分辨率/長寬比?

回答

3

有一個screen size qualifier,雖然它的使用已被棄用,建議不要使用:

layout-800x480layout-854x480

否則,它看起來並不像有資源的命名支持的方式,可以區分這兩種解決方案,除了使用靈活的佈局擴展到額外的屏幕空間。

+0

請注意,hdpi限定符本身將勝過res限定符。所以,如果您決定採用這條未經推薦的路線,您需要將其設置爲layout-hdpi-854x480。感謝你的回答。 – user230317 2009-12-13 15:20:27

2

如果你想確定代碼的屏幕尺寸,DisplayMetrics將有助於

DisplayMetrics metrics = new DisplayMetrics(); 
getWindowManager().getDefaultDisplay().getMetrics(metrics); 

你可以看一下字段widthPixelsheightPixels

不過,也讀了Best Practices for Screen Independence

+0

我熟悉所有的東西。這是一個獨特的案例,我正在移植一個iPhone應用程序,需要將視圖沿底部對齊。同時,我的佈局需要延長比480x800上的屏幕更長的時間,以避免將背景調整爲不同的長寬比。否則,使用layout_alignParentBottom可以做到這一點。 – user230317 2009-12-12 16:48:48