Android 图像的密度无关(dip)大小差异很大
我已经完成了应用程序的编码,正在运行Lint以确保所有性能问题都得到解决 我已经为ldpi、mdpi、hdpi和xhdpi创建了图形;但林特告诉我有些地方不对劲:Android 图像的密度无关(dip)大小差异很大,android,performance,Android,Performance,我已经完成了应用程序的编码,正在运行Lint以确保所有性能问题都得到解决 我已经为ldpi、mdpi、hdpi和xhdpi创建了图形;但林特告诉我有些地方不对劲: The image btn_homepage_journal.png varies significantly in its density-independent (dip) size across the various density versions: drawable-xhdpi\btn_homepage_journal.
The image btn_homepage_journal.png varies significantly in its density-independent (dip) size across the various density versions:
drawable-xhdpi\btn_homepage_journal.png: 93x75 dp (186x149 px),
drawable-hdpi\btn_homepage_journal.png: 76x61 dp (114x92 px),
drawable-mdpi\btn_homepage_journal.png: 61x49 dp (61x49 px),
drawable-ldpi\btn_homepage_journal.png: 48x48 dp (36x36 px)
我的mdpi测试设备是Galaxy Ace,我的xhdpi测试设备是Galaxy S3,图形看起来不错
我不明白这个警告想告诉我什么:对于我的186x149 px的xhdpi图像(它非常适合我的xhdpi布局),93x75 dp指的是什么
以下是我在每个dpi文件夹中使用的图像:
Lint向您展示了每个图像的密度无关大小,或者如果必须为您更改大小,mdpi的大小基本上是什么。预计的相对尺寸为: xhdpi:200% hdpi:150% mdpi:100% ldpi;75% 因此,如果您的mdpi映像是61x49,那么您的ldpi应该是其中的75%,或者说是46x37。 此外,它还希望您的xhdpi是122x98,而不是您现有的186x149 因此,查看每个数字集——左侧基本上指示了图像的大小,如果为mdpi显示调整大小的话。 所以理论上这应该是正确的: xhdpi*0.5==hdpi*0.667==mdpi==ldpi*1.33
在实践中,您可以按照自己的方式制作,但布局之间很难相互协调。有时代码胜于文字:
public static void logGfxVarioFromXXHDPI(final int height, final int width) {
RapidLog.i("GFX","xxxhdpi: (" + (int)(height * (4/3.0)) + "x" + (int)(width * (4/3.0)) + ")");
RapidLog.i("GFX","xxhdpi: (" + (height) + "x" + (width) + ")");
RapidLog.i("GFX","xhdpi: (" + (int)(height * (2/3.0)) + "x" + (int)(width * (2/3.0)) + ")");
RapidLog.i("GFX","hdpi: (" + (int)(height * 0.5) + "x" + (int)(width * 0.5) + ")");
RapidLog.i("GFX","mdpi: (" + (int)(height * (1/3.0)) + "x" + (int)(width * (1/3.0)) + ")");
RapidLog.i("GFX","ldpi: (" + (int)(height * 0.25) + "x" + (int)(width * 0.25) + ")");
}
祝你好运谢谢;我现在明白了。但是,从外观上看,我的xhdpi图形应该是186x149-它在122x98看起来很愚蠢。所以我应该忽略这个皮棉建议吗?我当然会忽略它。不管怎样,这只是一个关于尺寸的建议。对于S3,也可以看看这个(以防您没有使用该方案):