Android ImageView位图升级模式

时间:2017-12-16 04:01:02

标签: android

我以编程方式生成8x8像素位图,并将其设置为ImageView setImageBitmap。图像视图的大小(在xml布局中)为100x100 dp。

渲染时,图像显示非常模糊。有没有办法将高档模式更改为不拉伸/模糊图像?

编辑,从xml布局剪切

  <ImageView
        android:id="@+id/icon"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_marginBottom="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        android:textSize="20sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

1 个答案:

答案 0 :(得分:0)

我需要使用ImageView在全屏scaleType="centerInside"中显示不同尺寸的图像。加载时图像的大小是未知的,但它们都是mdpi密度,服务器无法动态调整大小。在加载过程中,我必须将它们放大,以便每个图像在不同的屏幕密度上具有相同的大小,例如,应使用以下代码将32x32图像缩放为xhdpi上的64x64,xxhdpi上的96x96。

// R.drawable.test is located in drawable-nodpi
final Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.test);
bitmap.setDensity(160);
imageView.setImageBitmap(bitmap);