我正在使用矢量图,并且我想让我的图像视图具有40dp的背景和24dp的图像。 目前,我的布局如下:
<ImageView
android:id="@+id/image"
android:layout_width="40dp"
android:layout_height="40dp"
android:background="@drawable/circle"
android:src="@drawable/ic_image"
android:tint="@android:color/white"
tools:ignore="ContentDescription"/>
问题在于即使在矢量图中我设置了以下属性,图片也会被缩放并填充满所有的40dp:
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
可绘制的圆形是:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid
android:color="@color/colorAccent"/>
<size
android:width="40dp"
android:height="40dp"/>
</shape>
我该如何修复布局?我需要将向量转换为png吗?
ImageView
使用ScaleType.FIT_CENTER
来缩放输入的Drawable
,请阅读ImageView.ScaleType
文档以了解其他值。 - pskink