2
Я использую векторный чертеж, и я хочу, чтобы изображение было на картинке с фоном 40dp и изображением 24dp. Я получил этот макет в настоящее время:ImageView с векторным размером для рисования
<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 даже если в векторе Drawable я получил:
<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' по умолчанию масштабирует ввод' 'Drawable' с ScaleType.FIT_CENTER', прочитайте' ImageView.ScaleType' документацию для других значений – pskink
@pskink Спасибо, решается с помощью Центра окружного масштаба – greywolf82
хорошо: Кстати, вы можете использовать 'LayerDrawable' с 2 слоями (круг и вектор) и передать его в' View # setBackground', нет необходимости в 'ImageView' – pskink