这两种尺寸都来自同一布局文件夹。所以...我想知道如何创建两者看起来都不错的小部件?我附加了屏幕截图,以显示正在拉动相同资源的2个显示器。
有什么想法吗?
答案 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);
}