Android自动侦测屏幕大小和解析度
2010-06-13 15:22:00 来源:WEB开发网在 Android 机器上,屏幕的解析度可以用「屏幕大小」和「屏幕点距」俩个参数?表示。
一般的方法
在 Android 1.6 版以後,可以使用 config.screenLayout 语句?判断屏幕大小
Configuration config = getResources().getConfiguration();
if((config.screenLayout&Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_NORMAL){
}
UPDATE 2010/4/14: sam 真 「config = new Configuration()」只?回传预韵的Configuration, 而非当前的Configuration. 找了一下最好是使用 getResources().getConfiguration()
支援的参数与代瘁如下
Configuration.SCREENLAYOUT_SIZE_UNDEFINED 0
Configuration.SCREENLAYOUT_SIZE_SMALL 1
Configuration.SCREENLAYOUT_SIZE_NORMAL 2
Configuration.SCREENLAYOUT_SIZE_LARGE 3
要检查?距,可以使用 DisplayMetrics 遮句?判断屏幕?距
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
if((dm.densityDpi == dm.DENSITY_HIGH)){
}
支援的??陪代瘁如下
DENSITY_HIGH 240 (dpi)
DENSITY_MEDIUM 160
DENSITY_LOW 120
DENSITY_DEFAULT 160
相容 1.5 以下?型
根?Android 版本使用?表,2010年1月? Android 1.5 市?率?是接近 1/3,但是呃1/3的机器上并无法使用上面的API。
在 1.5 版上,其实仍然可以用 density 语句?判断屏幕?距比率
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
if((dm.density >= 1.5)){
}
density 的值 1 代表一般?距,1.5 代表高?距,0.75代表低?距。要??市面上所有的机器是否是高解析度机型,只要运用以上方法,就可以自动侦测出屏幕大小和?距喽。
更多精彩
赞助商链接