代码之家  ›  专栏  ›  技术社区  ›  inazaruk

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

  •  32
  • inazaruk  · 技术社区  · 15 年前

    根据安卓图标设计指南( here ,见表1),开发者需要提供下一个尺寸的状态栏图标:

    Status Bar  24 x 24 px (LDPI)  32 x 32 px (MDPI)  48 x 48 px (HDPI)
    

    虽然我的测量显示状态栏的高度总是25 dp,并且期望图标为25x25dp。这就转化为这些尺寸:

    Status Bar  19 x 19 px (LDPI) 25 x 25 px (MDPI)  38 x 38 px (HDPI)
    

    以下是我获得这些尺寸的方法:

    25dp * 0.75 = 18.75 => 19px (LDPI)
    25dp *  1   = 25    => 25px (MDPI)
    25dp *  1.5 = 37.5  => 38px (HDPI)
    

    我已经在几个Android手机和模拟器上确认了计算出的大小。

    问题主要在于:为什么指导方针使用的大小与状态栏实际使用的大小不同?

    P.S.I实际上需要打破指南,因为精确的像素控制要求。我只是对这种情况感到困惑。所以解释一下为什么这种方式真的会帮助我。

    2 回复  |  直到 10 年前
        1
  •  10
  •   SamB som-snytt    11 年前

    警告:无论写的答案是否正确,现在似乎不正确。见 https://www.google.com/design/spec/style/icons.html 对于当前的指导方针。

    这似乎是个错误。(请注意,截至2010-12-04年,他们还交叉引用了该页图4和图5。)

    正如莱克斯指出的那样,他们在下面有正确的数字 "Status bar icon" section .

    他们还规定了一个2像素的“安全框架”,在25x25的所有侧面,你的图标的形状必须适合,尽管看起来有一些与混叠相关的东西是可以的,但是 只在侧面 ,对于此类型的图标。(也就是说,你真的想把21x21的尺寸作为目标。)

        2
  •  55
  •   F.O.O    10 年前

    实际上是

    • 18PX(LDPI)
    • 24PX(MPPI)
    • 36px(HDPI)
    • 48像素(XHDPI)
    • 72PX(XXHDPI)
    • 96PX(XXXHDPI)

    尺寸为24dp,带2dp衬垫,意味着20dp含量

    Px=dp*(dpi/160)