Android状态栏需要大小为25x25dp的图标,而指南建议使用32x32dp.谁错了?

ina*_*ruk 32 size android android-icons

根据android图标设计指南(这里,参见表#1),开发人员需要提供下一个尺寸的状态栏图标:

Status Bar  24 x 24 px (LDPI)  32 x 32 px (MDPI)  48 x 48 px (HDPI)
Run Code Online (Sandbox Code Playgroud)

虽然我的测量显示状态栏的高度始终为25 dp,并且预计图标为25x25dp.这可以转换为以下尺寸:

Status Bar  19 x 19 px (LDPI) 25 x 25 px (MDPI)  38 x 38 px (HDPI)
Run Code Online (Sandbox Code Playgroud)

这是我如何获得这些大小:

25dp * 0.75 = 18.75 => 19px (LDPI)
25dp *  1   = 25    => 25px (MDPI)
25dp *  1.5 = 37.5  => 38px (HDPI)
Run Code Online (Sandbox Code Playgroud)

我已在几款Android手机和仿真器上确认了计算尺寸.

问题基本上是:为什么指南使用的大小与状态栏实际使用的大小不同?

PS我实际上需要打破准则,因为精确的像素控制要求.我只是对这种状况感到困惑.因此解释为什么这样做会对我有所帮助.

小智 55

实际上是

  • 部18px(LDPI)
  • 24像素(MDPI)
  • 36px(HDPI)
  • 48像素(xhdpi)
  • 72px(xxhdpi)
  • 96PX(xxxhdpi)

它是24dp大小,带有2dp填充,意味着20dp的内容

px = dp*(dpi/160)

  • xxhdpi应为72x72 (7认同)
  • 和xxxhdpi在96x96px (7认同)
  • 24dp减去2dp填充实际上是20dp(所有边都有填充). (5认同)
  • 和xxxxhdpi我希望他们不会出于营销原因继续使用愚蠢的高分辨率制作设备 (4认同)

Sam*_*amB 10

警告:无论写入时答案是否正确,现在看来都不正确.有关当前指南,请参阅https://www.google.com/design/spec/style/icons.html.

这似乎是一个错误.(请注意,截至2010-12-04,他们还在该页面上引用了对图4和图5的引用.)

正如Lex指出的那样,他们在"状态栏图标"部分中进一步缩小了正确的数字.

他们还在25x25的所有面上指定一个2像素的"安全框架",你的图标的形状必须适合它,尽管似乎可以让一些与锯齿相关的东西伸出来,但仅限于两侧,为此图标的类型.(这意味着你真的想以这个尺寸瞄准21x21.)

  • 请注意,Android网站上提到的dp单位不是像素.有关dp如何转换为像素的详细信息,请参阅https://developer.android.com/design/style/iconography.html.所以24x24 dp**不是**总是24x24像素,在这个答案而不是像素,应该提到dp. (2认同)