Как программно применить векторную прорисовку к изображению? - PullRequest
0 голосов
/ 16 марта 2019

У меня есть куча изображений SVG (5), которые я преобразовал в векторные рисунки в Android Studio. Мне нужно жестко закодировать их в моем адаптере, но я не могу понять, как их применить.

Используя обычное изображение (.png или jpg), я бы поместил их в массив.

int[] images = {R.drawable.image_one.png,R.drawable.image_two.png};

и примените к изображению, как показано ниже:

imageView.setImageResource(images[position]);

как можно добиться того же с векторными объектами рисования (файл расширения заканчивается на .xml)

Ответы [ 2 ]

1 голос
/ 16 марта 2019

Используя метод getResources () следующим образом

imageView.setImageResource(getResources().getDrawable(R.drawable.image_one));
0 голосов
/ 16 марта 2019

Как png drawables, так и vector drawables могут быть установлены следующим образом:

  1. Скажем, в файловой системе ваш drawable равен hello.xml или hello.png
  2. Вы устанавливаете его как imageView.setImageResource(R.drawable.hello) в обоих случаях (вам не нужно указывать расширения)

Я бы порекомендовал использовать аннотацию @DrawableRes рядом с определением вашего типа для лучшей проверки компилятором (@DrawableRes int [] images = ...)

...