android如何区分智能手机或平板电脑

时间:2012-03-30 09:34:32

标签: java android eclipse android-layout

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

2 个答案:

答案 0 :(得分: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) );
}

答案 1 :(得分:0)

您还可以使用以下代码检查平板电脑

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

参考getConfigurationConfiguration