首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用dip的目的是什么?

使用dip的目的是什么?
EN

Stack Overflow用户
提问于 2013-10-01 21:55:59
回答 1查看 98关注 0票数 1

我是Android开发领域的新手,我正在努力使我的应用程序适应每一种解决方案。我最近听说了dip的概念,但我不明白这个单元的用途。我得到,它允许显示的东西具有相同的物理大小,无论屏幕分辨率。

但问题是它不适用于不同的屏幕密度。我的意思是,如果我定义一个宽度为80 with的图像,那么在160 and屏幕和320 and屏幕上的结果就不一样了。因此,如果我每次都要编写一些代码来使组件适应于设备,那么我并不能真正达到这个单元的目的。

我如何在xml中定义布局(如果没有代码,就不应该需要:/ ),这样每个设备上的这个视图都是相同的(或几乎)。

我真的不明白为什么不能在布局(xml)中使用百分比,而不可能使用这样的单元。

非常感谢你的帮助。

PS :对不起我的英语:(

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-01 21:57:54

dip (也称为dp)的思想是具有相同大小的虚拟像素,而不考虑显示器的物理像素密度。

1 1dp =1像素,160像素/英寸(中等密度显示器-mdpi)

在较高的像素密度下,1dp是一个以上的物理像素,而在较低的密度下,需要多个1dp才能达到一个物理像素的大小。

如果您在px中指定大小,那么您将指定物理像素,并且在高密度设备上相同的对象将看起来更小。

图像通常根据找到它们的资源文件夹进行缩放。如果您将.png文件放入/res/drawable中,则系统假定它的大小适合mdpi--显示密度为160个像素/英寸。如果实际显示碰巧是240像素/英寸(hdpi),系统在加载图像时将自动缩放1.5倍(= 240 / 160)。结果是,图像将在所有屏幕密度上以相同的物理尺寸显示。

您可以使用特定于密度的资源文件夹(/res/drawable-mdpi/res/drawable-hdpi等)为不同的密度提供不同的图形;这通常是在系统缩放降低图像质量时进行的。您还可以在/res/drawable-nodpi中放置图形以抑制这种缩放。

有关更多信息,请阅读教程支承密度

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19126676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档