首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当当前丢失时,Android默认密度值。

当当前丢失时,Android默认密度值。
EN

Stack Overflow用户
提问于 2014-06-16 14:37:04
回答 1查看 1.4K关注 0票数 7

我有一个关于密度的问题,以及安卓如何为当前的密度选择正确的values文件夹。我想我已经找到答案了,但我还不完全确定,所以我会把我发现的东西发出去。至少,这篇文章可能对某人有帮助。

例如,如果我只包括文件夹valuesvalues-hdpivalues-xxhdpi,那么当当前密度为xhpdi时,Android会做什么?

安卓似乎在寻找一个更高密度的文件夹,所以它将使用values-xxhdpi

当电流密度为xxxhdpi时会发生什么?

看起来,如果安卓找不到更高密度的文件夹,它就会找一个更低的文件夹,所以它也会使用values-xxdpi

Android永远不会将默认的values文件夹用于某个特定的values-*dpi文件夹中定义的值。

总之,假设我只有valuesvalues-xxhdpivalues-hdpi

  • values-hdpi中的值将用于密度为ldpimdpihdpi的设备。
  • values-xxhdpi中的值将用于密度为xhdpixxhdpixxxhdpi的设备。
  • 如果在任何values文件夹中定义了值,则不会使用values-*dpi中的值。

告诉我你是怎么想的。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-16 16:28:09

density限定符是资源匹配工作方式的一个例外。

屏幕像素密度是由于矛盾而没有消除的限定符。即使设备的屏幕密度是hdpi,可绘制端口ldpi/也不会被消除,因为此时每个屏幕密度都被认为是匹配的。

提供资源

当系统正在寻找特定于密度的资源,并且没有在特定密度的目录中找到它时,并不总是使用默认资源。系统可以使用另一个特定于密度的资源,以便在缩放时提供更好的结果。例如,当寻找低密度资源时,系统更倾向于缩小资源的高密度版本,因为系统可以轻松地将高密度资源缩小到低密度资源的0.5倍,并且与缩小中等密度资源的0.75倍相比,工件更少。

支持多屏幕

因此,在density的情况下,安卓可能使用默认文件夹,但也可能决定使用一个与之不完全匹配的文件夹。当然,充实是关于drawable资源的,但是这种机制可能对所有其他资源也是一样的。否则,drawables可能会出现与其他资源不匹配的问题,因为它们是使用不同的规则选择的。

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

https://stackoverflow.com/questions/24246151

复制
相关文章

相似问题

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