-anydpi和-nodpi之间的区别是什么?

时间:2015-12-08 13:18:34

标签: android android-resources

如果您在Android Studio 1.5.0中使用向量资源向导,则使用该向导导入的任何向量可绘制XML都会进入res/drawable/

但是,build/目录以及生成的APK显示这些XML文件已移至res/drawable-anydpi-v21/资源目录中。 -v21部分有意义,因为VectorDrawable仅支持API级别21+。但是,-anydpi似乎没有记录。对于原始导入目标和构建系统选择移动它的位置,我原本期望-nodpi

有没有人看到-anydpi含义的官方陈述,以及它与-nodpi的关系?我正在寻找实际效果,而不仅仅是一些代码评论暗示的内容。

3 个答案:

答案 0 :(得分:15)

source code包含以下注释(第639行):

E(g)$color <- alpha(E(g)$color, ((0.8*(E(g)$Invested.Amount.in.EUR - min(E(g)$Invested.Amount.in.EUR))) / (max(E(g)$Invested.Amount.in.EUR)-min(E(g)$Invested.Amount.in.EUR)))+0.2)

希望这可以消除这种混乱。

答案 1 :(得分:8)

nodpi :所有密度的资源。这些是与密度无关的资源。无论当前屏幕的密度如何,系统都不会缩放用此限定符标记的资源。

anydpi :此限定符匹配所有屏幕密度,并优先于其他限定符。这对矢量绘图很有用。在API Level 21中添加。

答案 2 :(得分:6)

我使用drawable-nodpi作为一切,我有很多大图形。一个没有记录的“扩大规模”的结果&#39;你的图形是它以指数方式增加内存使用量。因此,如果你有一个100M的图形,可以绘制&#39;根据用户设备的分辨率,它将缩放到400M或1.6G。设备分辨率不断提升。扩大规模实际上并没有增加“锐度”。当然是图形。绘图操作可以指示图形相对于屏幕大小的大小,无需使用多个绘图文件夹使应用程序膨胀。