2011-10-04 77 views
1

這兩種尺寸均從相同的佈局文件夾中拉出。所以...我想知道如何創建兩個看起來不錯的小部件?我附上了屏幕快照以顯示正在拉動相同資源的2臺顯示器。960x540和854x480的小組件佈局

960 x 540 Display 240 dpi

854 x 480 Display 240 dpi

任何想法?

回答

3
Both of these sizes pull from the same layout folder. 

在Android中的佈局是基於對例如在設備Different Screen Configuration的密度選自:

(LDPI)屏幕(〜120DPI)。

(mdpi)屏幕(〜160dpi)。

(hdpi)屏幕(〜240dpi)。

(xhdpi)屏幕(〜320dpi)。

兩個960×540 854×480和跌倒華電國際佈局,所以你對於單獲得相同的佈局。

要解決這個問題,要獲得適用於兩種規範的UI,請在hdpi-layout內部創建單獨的XML。對於如:960_540.xml和854_480.xml

在活動檢查設備的屏幕大小,因此相應的內容查看

該組

可以使用顯示量度下面的代碼獲取屏幕尺寸:

Display display = getWindowManager().getDefaultDisplay(); 
    screenWidth = display.getWidth(); 
    screenHeight = display.getHeight(); 
    dm = new DisplayMetrics(); 
    getWindowManager().getDefaultDisplay().getMetrics(dm); 
    String str_ScreenSize = dm.widthPixels + " x " + dm.heightPixels; 
    str_ScreenSize = "dd" + " x " + dm.heightPixels; 

    if(screenHeight==854 & screenwidth==480){ 
     setContentView(R.layout.854_480); 
    } 
    else if(screenHeight==960 && screenwidth==540){ 
     setContentView(R.layout.960_540); 
    } 
+0

這真是太可怕了。 Android的dpi/size文件夾結構設計是有史以來最糟糕的體系結構之一。 Google如何才能支持一組特定的DPI和屏幕尺寸組合?來吧,來吧。 – Kevin