Android:如何处理不幸的dpi分类设备?

时间:2011-05-13 19:04:09

标签: android

我的应用程序有一个带有ImageButtons的工具栏,我将其用作应用程序按钮。我将按钮的layout_width和layout_height指定为12mm。在120dpi器件上(12mm * 160dpi)/(25.4mm / in)= 75.9pix。同样,在240dpi设备上它将是113.4pix。因此,我倾向于使我的mdpi drawables大约60x60和我的hdpi drawables大约90x90(允许一些边缘等)。

但是,我在三星Galaxy Tab等设备上遇到了问题。不幸的是,尽管只有170dpi,但它被归类为hdpi。在170dpi,12mm = 80.3pix。但是,因为它是hdpi,它将使用90x90图标,这太大了。

我倾向于放弃ldpi / mdpi / hdpi框架,只需将图标打包为30x30,40x40,50x50 ...... 100x100。并且,在代码中,根据设备上指定的dpi选择使用哪一个(这也是不准确的,但更不用说)。然而,这似乎很难维持,而且通常效率低下。

有关如何处理这种情况的任何建议?

1 个答案:

答案 0 :(得分:3)

请勿使用mm和in等绝对尺寸单位。对于当前设备的方式,不能依赖它们。仅使用px和dp。