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

图像资源及其在屏幕上的结果大小之间的关系

  •  0
  • WSBT  · 技术社区  · 12 年前

    说我有 cat.png 在我的 drawable-hdpi 文件夹,尺寸为100*100像素。现在,如果我使用大小设置为“wrap_content”的ImageView加载此图片:

    cat_image.setImageResource(R.drawable.cat);
    

    如果不调用“getHeight()”,我如何知道图像视图的大小(以像素为单位)?图像视图的大小和数字“100”之间一定有关系,但我试图将“100”从DP转换为PX,从PX转换为DP等,但没有成功。

    1 回复  |  直到 12 年前
        1
  •  1
  •   Community Mohan Dere    8 年前

    如果一个图像是100px,那么在mdpi中是100dp。

    那么100dp的意思是: 它在mdpi上的100px 它在hdpi上的150px xhdpi上的200像素

    因此,android将尝试找到最适合使用的资源。对于drawinables,它还会自动缩放图像,这样,如果您将其设置为100px并放置在mdpi中,它将在hdpi屏幕上使用它,但将其设为150px。不建议这样做,您应该始终尝试将所有资源放入所有文件夹(mdpi-hdpi-xhdpi)。

    有一个helper方法可以帮助您通过代码将100dp转换为像素。

    Converting pixels to dp