Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
支持android分辨率屏幕:理解_Android_Image_Resolution_Dpi - Fatal编程技术网

支持android分辨率屏幕:理解

支持android分辨率屏幕:理解,android,image,resolution,dpi,Android,Image,Resolution,Dpi,虽然我已经读了两遍了,但我并没有真正理解DP度量 假设我有一张图像,它的分辨率是:400x400像素 我想把它作为背景图片放到我的应用程序中。 我将相同的图像放在不同的可绘制文件夹(ldpi、mdpi等)上 图像会散播吗?我不知道图像在不同的可绘制文件夹上的分辨率应该是多少,这样才能适合设备。您的基本密度是mdpi。因此,您的400x400 dp图像将仅在mdpi设备上按原样呈现。如果希望在ldpi上使用相同的大小,则必须将图像缩放0.75。对于hdpi而言,您的图像需要大1.5倍,对于xhdp

虽然我已经读了两遍了,但我并没有真正理解DP度量

假设我有一张图像,它的分辨率是:400x400像素

我想把它作为背景图片放到我的应用程序中。 我将相同的图像放在不同的可绘制文件夹(ldpi、mdpi等)上


图像会散播吗?我不知道图像在不同的可绘制文件夹上的分辨率应该是多少,这样才能适合设备。

您的基本密度是
mdpi
。因此,您的400x400 dp图像将仅在
mdpi
设备上按原样呈现。如果希望在
ldpi
上使用相同的大小,则必须将图像缩放
0.75
。对于
hdpi
而言,您的图像需要大
1.5倍,对于
xhdpi
设备,
2.0
倍于
mdpi
的大小


由于
mdpi
是您的基础,所以在开发时,我总是将drawables放在
res/drawablemdpi
文件夹中。一旦我准备好要发布的代码,我就将
hdpi
资源添加到
res/drawables-hdpi
。我个人并不关心
ldpi
设备,因为大多数设备我的目标密度都不低于
mdpi
,如果有人会这样做,那么我对android framework缩小规模没什么意见。但放大是另一回事-你总是会得到不好的结果(模糊的图像),因为从技术上来说,你根本无法从没有伪影的较小位图中制作出更大的位图(不,CSI谎言;)-你只是没有足够的数据,所以你必须进行推断。因此,最好自己提供合适的绘图工具,否则最终用户会抱怨,你的应用程序可能看起来没有它可能的那么好。

你的基本密度是
mdpi
。因此,您的400x400 dp图像将仅在
mdpi
设备上按原样呈现。如果希望在
ldpi
上使用相同的大小,则必须将图像缩放
0.75
。对于
hdpi
而言,您的图像需要大
1.5倍,对于
xhdpi
设备,
2.0
倍于
mdpi
的大小


由于
mdpi
是您的基础,所以在开发时,我总是将drawables放在
res/drawablemdpi
文件夹中。一旦我准备好要发布的代码,我就将
hdpi
资源添加到
res/drawables-hdpi
。我个人并不关心
ldpi
设备,因为大多数设备我的目标密度都不低于
mdpi
,如果有人会这样做,那么我对android framework缩小规模没什么意见。但放大是另一回事-你总是会得到不好的结果(模糊的图像),因为从技术上来说,你根本无法从没有伪影的较小位图中制作出更大的位图(不,CSI谎言;)-你只是没有足够的数据,所以你必须进行推断。因此,最好是自己提供合适的绘图功能,否则最终用户会抱怨,你的应用程序可能看起来没有它所能提供的那么好。

这个想法是,根据屏幕分辨率,显示图像的实际物理大小会有所不同

在mdpi设备上,屏幕密度约为1.5 dpi(每英寸点数),这意味着您的400px宽图像将测量2.5英寸

如果希望在hdpi设备上的图像大小大致相同(例如250 dpi),则必须提供625像素宽的图像(2.5*250)。您应将图像放入
可绘制hdpi
文件夹中


有关不同密度的描述,请参见。

其思想是,显示图像的实际物理大小将根据屏幕分辨率而有所不同

在mdpi设备上,屏幕密度约为1.5 dpi(每英寸点数),这意味着您的400px宽图像将测量2.5英寸

如果希望在hdpi设备上的图像大小大致相同(例如250 dpi),则必须提供625像素宽的图像(2.5*250)。您应将图像放入
可绘制hdpi
文件夹中


有关不同密度的说明,请参见。

在设计应用程序时,需要注意两个重要参数
应在多个设备上运行:

  • 大小(设备的物理大小)
  • 设备的密度
大小:android中设备的大小不是定义为唯一的物理值,而是定义为一个范围。
它们是:小的、正常的、大的和大的。

密度:密度也被定义为一个范围。
这些是:ldpi、mdpi、hdpi和xhdpi

对于处理尺寸,您需要使用多个布局,每个类别的尺寸一个,并且您需要为每个布局的视图高度和宽度使用不同的dp值,因为小型和大型设备的尺寸将不同。

对于处理密度,您需要针对不同的屏幕密度使用不同的可绘制工具,即,您需要将不同密度的可绘制工具放置在不同的可绘制文件夹中。
例如:
这些是特定可绘制图像的分辨率

  • 36x36用于低密度(放置在可拉伸ldpi中)
  • 48x48用于中等密度(放置在可拉伸mdpi中)
  • 72x72用于高密度(放置在可拉伸hdpi中)
  • 96x96用于超高密度(放置在可拉伸xhdpi中)
分辨率变化的比率为3:4:6:8(ldpi:mdpi:hdpi:xhdpi)

要进一步阅读,您可以参考此android开发者链接:

在设计应用程序时,有两个重要参数需要注意
应在多个设备上运行:

  • 大小(设备的物理大小)
  • 设备的密度
大小:android中设备的大小不是定义为唯一的物理值,而是定义为一个范围。
它们是:小的、正常的、大的和大的。

密度:密度也被定义为一个范围。
这些是:ldpi、mdpi、hdpi和xhdpi

对于处理尺寸,您需要使用多个布局,每个尺寸类别一个布局,并且您需要使用