在较大的ImageView中显示一个小的png(drawable)

时间:2012-08-27 18:36:39

标签: android android-imageview

我在尺寸大于原始图像的ImageView中显示一个微小的png可绘制资源。这是正常的,我想要的方式:)

当显示ImageView时,图像模糊,因为我认为使用了缩放方法。

我想达到类似的效果: http://www.41post.com/4241/programming/android-disabling-anti-aliasing-for-pixel-art 原始图像在没有抗锯齿的情况下进行放大。

有没有办法直接用一定宽度和高度(蘸水)和一个drawable的ImageView实现,而不必使用中间位图?

2 个答案:

答案 0 :(得分:1)

您是否尝试在布局中关闭抗锯齿功能?

<ImageView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/icon"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:antialias="false" />

答案 1 :(得分:1)

<?xml version="1.0" encoding="utf-8"?>
<bitmap
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/image"
    android:antialias="false" />

你需要创建一个drawable,将上面的代码复制到drawable文件夹中的xml上,然后在你的布局上而不是使用你的图像作为源使用这个xml。这样就可以禁用图像的抗锯齿。

编辑:在代码中执行此操作。

BitmapDrawable draw = new BitmapDrawable(R.drawable.image);
draw.setAntiAlias(false);
imageView.setImageDrawable(draw);