我的应用中有一个照片库。图片集存储在drawable文件夹中。当用户在图像中滑动时,我正在使用ViewPager .. xhdpi,hdpi,mdpi的宽度和高度(以像素为单位)和dps是什么?
我知道Android文档说的是px = dp * dpi / 160 ..但我仍然对图片下载像素应该是什么感到困惑,以便它适合所有屏幕尺寸?
答案 0 :(得分:1)
没有一种魔术尺寸可以保证它完美适合所有屏幕。每个密度下都有多个屏幕尺寸。
您应该考虑尽可能多地使用您的布局。在您的情况下,听起来您不应该专注于特定的像素大小,而是如何在公共屏幕上正确显示并优雅地显示在不太常见的屏幕上。话虽如此,我会做以下事情:
我会看一下仪表板here。我制作的布局首先定位hdpi,屏幕尺寸正常(占市场的50.1%),然后是屏幕尺寸正常的xhdpi(25.1%),然后是正常屏幕尺寸的mdpi(11%)。检查此page上的表3,了解这些值的常见屏幕尺寸。由于您最有可能使用图像视图,因此请务必检查缩放类型属性,以便在图像视图不在时帮助处理
如果您在密度和原始像素值之间转换大小时遇到困难,请使用this计算器作为旁注(稍后可能有用)。
答案 1 :(得分:0)
使用以下功能为您提供当前显示的高度和宽度
DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
deviceHeightPix = displaymetrics.heightPixels;
deviceWidthPix = displaymetrics.widthPixels;
基于此,您可以在服务器上传递数据以获取相关图像。