9

我知道有一些指南可以为 Android 中的特定区域(Tab、List 等)创建图标,以及如何根据 ldpi、mdpi、hdpi 等设置它们的大小。

关于如何缩放其他应用内图标是否有任何规则?

我在我的 mdpi 开发手机上使用了一个 10x10 像素的“小”图标,创建该图标的 ldpi、hdpi 和 xhdpi 版本的缩放规则是什么?

谢谢

戴夫

4

4 回答 4

14

我会为每个创建单独的图像:

Res     Px     
ldpi    36 x 36
mdpi    48 x 48
hdpi    72 x 72
xhdpi   96 x 96
xxhdpi  144x144
xxxhdpi 192x192

然后只需将它们中的每一个放在可绘制文件夹的单独茎中。

于 2013-09-30T05:34:30.060 回答
12

比率为 0.75|1|1.33|1.5|2.|3.|4。(或 3:4:6:8:12:16)也就是说,对于您的 10x10px 位图,图形将是

ldpi    - 10x10 * 0.75 = 7x7
mdpi    - 10x10 * 1    = 10x10
tvdpi   - 10x10 * 1.33 = 13x13
hdpi    - 10x10 * 1.5  = 15x15
xhdpi   - 10x10 * 2    = 20x20
xxhdpi  - 10x10 * 3    = 30x30
xxxhdpi - 10x10 * 4    = 40x40
于 2012-08-24T21:43:31.700 回答
2

支持多个屏幕的像素值的通用规则基于设备屏幕密度的基线配置。密度为 160 像素的基线,mdpi 在此范围内。因此,通过计算 dpi 值,您可以将这些值放在不同的 dimens.xml 中以支持各种设备。一般公式为:

结果 = 值(dpi)* 设备密度(pi)/160(dpi)

所以首先检查你的设备密度,然后根据上面的公式计算dimens.xml的值。对于标准,我们通常假设:

对于 mdpi 密度 = 160,hdpi - 240,xhdpi - 320,ldpi - 120

与您的情况一样,如果值为 10*10,则不同屏幕的结果将是:

对于 ldpi:

结果 = 10*120/160 = 7.5 ,即 7 个​​像素

对于 mdpi:

结果 = 10*160/160 = 10 像素

对于 hdpi:

结果 = 10*240/160 = 15 像素

对于 xhdpi:

结果 = 10*320/160 = 20 像素

你也可以参考这个http://developer.android.com/guide/practices/screens_support.htmlhttp://developer.android.com/training/multiscreen/screendensities.html

于 2013-09-30T06:58:57.410 回答
1

根据 Android-Iconography 指南,图标应遵循 2:3:4:6 的比例,分别用于不同的屏幕密度,中、高、x-high 和 xx-high

在此处输入图像描述

您还可以查看 Android 设计指南以了解图标。http://developer.android.com/design/style/iconography.html

于 2013-07-16T08:54:55.247 回答