gpt4 book ai didi

java - Nexus 7 - 代码中设置的图像大小与 XML 中设置的图像大小不同

转载 作者:行者123 更新时间:2023-12-01 14:47:52 24 4
gpt4 key购买 nike

我有 XML 格式的简单 ImageView:

<ImageView
android:id="@+id/imgItemFavorites"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/foo"
android:src="@drawable/vote_favorite" />

现在,如果我在代码中引用该 View 并执行以下操作:

ImageView img = (ImageView) llGenericList.findViewById(R.id.imgItemFavorites);
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.vote_favorite, null);
img.setImageBitmap(bitmap);

由于加载的图像较小,我的 ImageView 最终变得较小。我认为这与由于 Nexus 7 的 tvdpi 而完成的自动缩放有关,但是任何人都可以告诉我如何以稳健的方式修复此问题,而不会在其他设备上搞砸事情吗?

最佳答案

创建应自行缩放至“原始”分辨率的图像时,需要执行一些操作。

首先假设您有一个 200x100 像素的 PNG 文件。将此作为您的“基线”。

使用 android:layout_width="200dp"和 android:layout_height="100dp"创建 ImageView 。

然后,您需要为设备的每个“类别”提供 4 个版本的位图,并在您提供的资源中缩放位图:

  • ldpi:150px x 75px(乘以 mdpi 0.75x)
  • mdpi:200 像素 x 100 像素
  • hdpi:300 像素 x 150 像素(mdpi 乘以 1.5 倍)
  • xhdpi:400 像素 x 200 像素(hdpi 乘以 2.0 倍)

Android 会在缩放时使用资源中正确的 png 大小。重要的是指定布局中的基线大小。

关于java - Nexus 7 - 代码中设置的图像大小与 XML 中设置的图像大小不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15238295/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com