2012-03-30 115 views
0

我有一个应用程序,内部资源文件夹的图标为tabHost(drawable-hdpi和drawable-mdpi双分辨率)。如果智能手机或平板电脑从正确的文件夹调用该图标。但是,我需要从数据/数据路径获取图标,而不是res/drawable文件夹。如果智能手机或平板电脑为了加载适当的图像,我怎么能区分呢?谢谢。android如何区分智能手机或平板电脑

回答

1

您可以通过设置屏幕大小阈值按您的要求做出来,然后再使用下面的方法来看看设备是否满足您的门槛:

/** 
* Checks if the screen is above the given size 
* @param activity activity screen 
* @param screenSize size of screen to evaluate 
* @return True if its equal/above, else false 
*/ 
public static boolean isTablet(Activity activity, int screenSize) 
{ 
    Display display = activity.getWindowManager().getDefaultDisplay(); 
    DisplayMetrics displayMetrics = new DisplayMetrics(); 
    display.getMetrics(displayMetrics); 

    int width = displayMetrics.widthPixels/displayMetrics.densityDpi; 
    int height = displayMetrics.heightPixels/displayMetrics.densityDpi; 

    double screenDiagonal = Math.sqrt(width * width + height * height); 
    return (screenDiagonal >= ((double)screenSize)); 
} 
0

您还可以使用下面的代码检查平板电脑或不

if(((getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_XLARGE)){ 
    //Then tablet 
} 

参考getConfigurationConfiguration

相关问题