适用于960x540和854x480的小部件布局

时间:2011-10-04 12:34:08

标签: android layout android-widget

这两种尺寸都来自同一布局文件夹。所以...我想知道如何创建两者看起来都不错的小部件?我附加了屏幕截图,以显示正在拉动相同资源的2个显示器。

960 x 540 Display 240 dpi

854 x 480 Display 240 dpi

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

Both of these sizes pull from the same layout folder.

在Android中,布局是根据设备Different Screen Configuration 的密度选择的,例如:

(ldpi)屏幕(~120dpi)。

(mdpi)屏幕(~160dpi)。

(hdpi)屏幕(~240dpi)。

(xhdpi)屏幕(~320dpi)。

960x540和854x480 都属于 hdpi布局,因此两者的布局相同。

要解决这个问题,要获得两个规范的apt UI,为 hdpi-layout 内部创建单独的XML。例如:960_540.xml和854_480.xml

在活动中检查设备的屏幕尺寸,以便设置相应的ContentView

您可以使用代码:

下方的显示指标获取屏幕尺寸
    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);
    }