0

我現在很困惑。我試圖製作不同的圖像,並將它們放在適當的文件夾(xhdpi,ldpi)中,但我的應用程序不適用於2.7「到10」的所有設備類型。所以我決定爲不同的屏幕尺寸製作不同的佈局。我在從英寸此代碼 -基於設備大小的佈局

DisplayMetrics dm = new DisplayMetrics(); 
getWindowManager().getDefaultDisplay().getMetrics(dm); 
double x = Math.pow(dm.widthPixels/dm.xdpi,2); 
double y = Math.pow(dm.heightPixels/dm.ydpi,2); 
double screenInches = Math.sqrt(x+y); 
Log.d("debug","Screen inches : " + screenInches); 

越來越器件尺寸現在我想要的是,如果該設備的大小大約可以說,2.7" 我的應用程序開始使用佈局從自定義文件夾。這可能嗎?

+2

http://developer.android.com/guide/practices/screens_support.html – httpdispatch

+0

看到我的答案http://stackoverflow.com/questions/16668271/android-universal-app-approach/16669294#16669294 –

+0

創建不同的佈局不好的做法。只使用一種佈局,並確保您的小部件在沒有任何硬編碼值的情況下定位/對齊。 –

回答

0

你可以在不同的預選賽佈局文件的一個包括小工具代碼,並檢查運行時這些標籤

layout-large/layout1.xml: 
    <Button 
    android:id="@+id/btn1" 
    ... 
    android:tag="large" /> 

layout-small/layout1.xml: 
    <Button 
    android:id="@+id/btn1" 
    ... 
    android:tag="small" /> 

在運行時檢查他們:

findViewById(R.id.btn1).getTag().toString()