在为多个屏幕开发时,在哪里放置drawable?

我正在为多个屏幕开发,所以我的布局是布局,布局大,布局-xlarge。 这些布局的按钮背景已发布在drawable-hdpi,drawable-xgdpi,drawable-xxhdpi文件夹中。

但是,当我运行应用程序时,布局似乎正在选择可用的最小的drawable。 xhdpi未使用正确大小的图像。 为什么是这样? 我是否需要创建可绘制文件夹的单独结构?

// try this way ldpi mdpi hdpi xhdpi xxhdpi xxxhdpi Launcher And Home 36 48 72 96 144 192 Tab,Dialog and List 24 32 48 64 96 128 Action Bar And Status Bar 18 24 36 48 72 96 Background 320*426 320*470 480*640 720*960 1080*1920 1080*1920 

你应该遵循四个广义密度之间的3:4:6:8比例。
例如,如果您有一个位图可绘制的中等密度屏幕为48×48像素
(启动器图标的大小),所有不同的大小应该是:

 36x36 for low-density 48x48 for medium-density 72x72 for high-density 96x96 for extra high-density 

请概述此链接: Android图标

根据文档,

由于Android在具有各种屏幕密度的设备中运行,因此您应始终提供针对每个广义密度桶定制的位图资源:低,中,高和超高密度。 这将有助于您在所有屏幕密度上获得良好的图形质量和性能。

要生成这些图像,您应该以矢量格式开始使用原始资源,并使用以下大小比例生成每个密度的图像:

 xhdpi: 2.0 hdpi: 1.5 mdpi: 1.0 (baseline) ldpi: 0.75 

这意味着如果为xhdpi设备生成200×200图像,则应为150d150(hdpi)生成相同的资源,为mdpi生成100×100,最后为ldpi设备生成75×75图像。

然后,将生成的图像文件放在res /下的相应子目录中,系统将根据运行应用程序的设备的屏幕密度自动选择正确的文件:

 MyProject/ res/ drawable-xhdpi/ awesomeimage.png drawable-hdpi/ awesomeimage.png drawable-mdpi/ awesomeimage.png drawable-ldpi/ awesomeimage.png 

然后,只要您引用@ drawable / awesomeimage,系统就会根据屏幕的dpi选择合适的位图。 参考此链接

有用的链接: http : //developer.android.com/guide/practices/screens_support.html

Android会自动选择使用哪一个。 而较小的一个更喜欢。 确保将drawable放在正确的dpi文件夹中。 所以较大的on应该放在drawable-xxhdpi上,最低的应该是drawable-ldpi。