我正在为多个屏幕开发,所以我的布局是布局,布局大,布局-xlarge。这些布局的按钮背景已发布在drawable-hdpi,drawable-xgdpi,drawable-xxhdpi文件夹中。
但是,当我运行应用程序时,布局似乎正在选择可用的最小的drawable。 xhdpi未使用正确大小的图像。为什么是这样?我是否需要创建可绘制文件夹的单独结构?
答案 0 :(得分:3)
你应该遵循四个广义密度之间的3:4:6:8缩放比例。
例如,如果你有一个位图可绘制的中等密度屏幕的48x48像素(大小)对于启动器图标),所有不同的大小应该是:
36x36 for low-density
48x48 for medium-density
72x72 for high-density
96x96 for extra high-density
请详细了解此链接:Android Iconography
答案 1 :(得分:3)
// 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
答案 2 :(得分:2)
根据文档,
由于Android在具有各种屏幕密度的设备中运行,因此您应始终提供针对每个广义密度桶定制的位图资源:低,中,高和超高密度。这将有助于您在所有屏幕密度上实现良好的图形质量和性能。
要生成这些图像,您应该以矢量格式开始使用原始资源,并使用以下大小比例为每个密度生成图像:
xhdpi: 2.0
hdpi: 1.5
mdpi: 1.0 (baseline)
ldpi: 0.75
这意味着如果为xhdpi设备生成200x200图像,则应在150x150中为hdpi生成相同的资源,为mdpi生成100x100,为ldpi设备生成75x75图像。
然后,将生成的图像文件放在res /下的相应子目录中,系统将根据运行应用程序的设备的屏幕密度自动选择正确的文件:
MyProject/
res/
drawable-xhdpi/
awesomeimage.png
drawable-hdpi/
awesomeimage.png
drawable-mdpi/
awesomeimage.png
drawable-ldpi/
awesomeimage.png
然后,只要你引用@ drawable / awesomeimage,系统就会根据屏幕的dpi选择合适的位图。请参阅此link
答案 3 :(得分:1)
有用的链接:http://developer.android.com/guide/practices/screens_support.html
Android会自动选择使用哪一个。而较小的一个更喜欢。确保将drawable放在正确的dpi文件夹中。所以较大的on应该放在drawable-xxhdpi上,最低的应该是drawable-ldpi。