0

在我的代码中,我想为我的 imageview 设置一个默认图像。我所有的图像都是 174px X 174px。所以,我希望默认图像大小相同。这是我用于图像视图的 xml

//....code

<ImageView
    android:id="@+id/ivCover"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:contentDescription="Default Image"
    android:src="@drawable/default_cover" />


//....some other code

现在,我的 default_cover.jpg 也是 174px X 174px。但它显示了一个较小的图像。我都试过了

android:scaleType="centerInside"
android:scaleType="center"
android:scaleType="matrix"

即使它们中的大多数对我来说毫无意义,但我仍然尝试了所有它们,但它们都不起作用。然后我通过指定指定图像的高度和宽度

android:layout_width="174px"
android:layout_height="174px"

(我知道使用 dp 比 px 更好,但因为这个图像大小是固定的,我只是在测试它)。所以它显示

不好看的默认图片[默认图片]

而当使用从外部 url 加载时

Bitmap bitmap = BitmapFactory.decodeStream((InputStream) new URL(url_source_for_image).getContent());
ivCover.setImageBitmap(bitmap);

想要的图像

具有所需图像质量的清晰图像[]

这两张照片在这里看起来可能差别不大,但在我的安卓设备上差别非常明显。请不要说我没有尝试其他解决方案..这是so本身的链接列表..

ImageView 适合而不拉伸图像

将图像放入 ImageView,保持纵横比,然后将 ImageView 调整为图像尺寸?

ImageView 一维适合自由空间,第二个评估以保持纵横比

调整 ImageView 的大小以适应纵横比

Android中ImageView的最大宽度和高度

ImageView 中的图像被拉伸 - Android

Android:如何防止图像在 ImageView 或 ImageButton 中缩放?

4

1 回答 1

3

听起来答案是使用drawable-nodpi。为了将来参考,如果您在 ldpi/hdpi/etc 和 no-dpi 中都有相同的命名图像,我认为 no-dpi 将被忽略。

于 2013-06-26T16:51:34.660 回答