我以编程方式生成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" />
答案 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);