关于Layout-x*的疑惑

关于Layout-***x***的困惑大家都知道在开发软件的时候使用layout-800x480,layout-640x320等layout目录来根

关于Layout-***x***的困惑
大家都知道在开发软件的时候使用layout-800x480,layout-640x320等layout目录来根据不同的分辩率定义不同的界面布局,但问题是layout-后面的"分辩率"值如何确定呢?不要说是屏幕的物理分辩率,因为我这里的事实可以证明使用物理分辩率根本就不行.
系统:安卓4.0
样机1:物理分辩率是800*480 但能对它起作用的layout-是layout-539x320
样机2:物理分辩率是1024*768 但是layout-1024x768对它不起作用,默认layout目录下的布局文件对它起作用.

所以请高人指点一下:如何取得正确的layout-***x***.(最好能给一段小程序来测试出机子的***x***)谢谢.

[解决办法]
layout-high这样的文件夹的,哪有设置分辨率那么细的.
[解决办法]
用layout-ldpi, layout-hdpi, layout-xhdpi
[解决办法]
layout-800x480, layout-539x320, 这样分辨率太多了, 就用layout-ldpi, layout-hdpi, layout-xhdpi这三个

探讨

引用:
用layout-ldpi, layout-hdpi, layout-xhdpi


这三个文件夹不能解决全部问题的,同样是7寸800×480的平板电脑一个2.3的系统,一个是4.0的系统,它们使用的layout文件就一个(2.3系统)是:layout-800x480,而另一个(4.0系统)却要使用layout-539x320

[解决办法]
打印出来看看
System.out.println(getWindowManager().getDefaultDisplay().getWidth());
System.out.println(getWindowManager().getDefaultDisplay().getHeight());
[解决办法]
android4.0 貌似要减去状态栏高度48。 getHeight()方法获取的是getRawHeight() - 状态栏高度。
[解决办法]
我映像中记得好像是有换算比率的。而不是简单的分辨率。待我找找看。
[解决办法]
其实系统用哪个lay_out的资源与build.prop里ro.sf.lcd_density的值也有关系. 此为屏幕像素密度.
[解决办法]
Android这种设计纯属蛋疼!
hdpi, mdpi, ldpi都已经够开发人员受的了。一般情况下hdpi, mdpi, ldpi已经足够用了
[解决办法]
一大堆瞎喷的人,有本事把人家的问题给解决掉