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