如何在Android中检索设备的说明符名称

时间:2014-11-18 07:49:34

标签: android

有没有办法检索Android在决定从哪个文件夹获取资源时将使用的当前设备的说明符列表?例如"大","端口"," hdpi"," v11"," pl"等

我需要一个可以在以后显示或记录的每个设备的说明符列表,这可以帮助我调整每个已记录/测试设备调整的布局/设置等。

换句话说,我希望有一个方法可以返回当前设备的所有说明符的列表(或字符串组合)。

getSpecifierList();//hdpi,large,port,v11,pl...

1 个答案:

答案 0 :(得分:2)

用于获取屏幕分辨率

 int density= getResources().getDisplayMetrics().densityDpi;

switch(density)
{
case DisplayMetrics.DENSITY_LOW:
   Toast.makeText(context, "LDPI", Toast.LENGTH_SHORT).show();
    break;
case DisplayMetrics.DENSITY_MEDIUM:
     Toast.makeText(context, "MDPI", Toast.LENGTH_SHORT).show();
    break;
case DisplayMetrics.DENSITY_HIGH:
    Toast.makeText(context, "HDPI", Toast.LENGTH_SHORT).show();
    break;
case DisplayMetrics.DENSITY_XHIGH:
     Toast.makeText(context, "XHDPI", Toast.LENGTH_SHORT).show();
    break;
}

用于获取屏幕尺寸

int screenSize = getResources().getConfiguration().screenLayout &
        Configuration.SCREENLAYOUT_SIZE_MASK;

switch(screenSize) {
    case Configuration.SCREENLAYOUT_SIZE_LARGE:
        Toast.makeText(this, "Large screen",Toast.LENGTH_LONG).show();
        break;
    case Configuration.SCREENLAYOUT_SIZE_NORMAL:
        Toast.makeText(this, "Normal screen",Toast.LENGTH_LONG).show();
        break;
    case Configuration.SCREENLAYOUT_SIZE_SMALL:
        Toast.makeText(this, "Small screen",Toast.LENGTH_LONG).show();
        break;
    default:
        Toast.makeText(this, "Screen size is neither large, normal or small" , Toast.LENGTH_LONG).show();
}