Как позволить ImageView диктовать размер пользовательских Drawable? - PullRequest
1 голос
/ 06 апреля 2019

Я работаю над отрисовкой инициалов, вроде как в gmail. Я хочу, чтобы этот масштабируемый объект автоматически масштабировался до размера представления изображения (который будет жестко задан в формате xml, но в нескольких вариантах), поэтому я не хочу, чтобы инициализируемые элементы рисования имели также жестко закодированный размер, что, мне кажется,что делает getIntrinsicWidth ().

Есть ли способ сделать это?Есть ли способ для рисования получить размер изображения, чтобы сделать его расчеты для рендеринга?

Спасибо

1 Ответ

0 голосов
/ 06 апреля 2019

Векторные рисунки могут автоматически масштабироваться по умолчанию. Например, установка android:width="24dp" в вашем отрисовываемом xml не заставляет его иметь этот размер, это просто значение по умолчанию.

Установите 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, если вы хотите изменить поведение посевов.

...