如何让ImageView决定自定义Drawable的大小?

时间:2019-04-06 04:15:24

标签: android imageview drawable

我正在处理可绘制的首字母缩写,有点像gmail。 我希望此可绘制对象自动缩放到图像视图大小(将在xml中进行硬编码,但是有多种变体),因此我不希望缩写的首字母也具有硬编码的大小,在我看来是getIntrinsicWidth()的作用。

有没有办法做到这一点?那么drawable是否有办法获得图像视图的大小,并进行渲染计算?

谢谢

1 个答案:

答案 0 :(得分:0)

矢量可绘制对象默认情况下可以自动缩放。例如,在可绘制的xml中设置android:width="24dp"不会强制将其设置为这种大小,而只是默认值。

ImageView设置为所需的大小,然后将可绘制对象设置为图像资源。它将填充可用空间。

在布局xml中:

<ImageView
    android:layout_width="48dp"
    android:layout_height="48dp"
    android:src="@drawable/your_drawable"/>

或在Java中:

ImageView iv = findViewById(R.id.your_image_view);
iv.setImageResource(R.drawable.your_drawable);

如果想要不同的裁剪行为,请忽略android:scaleType