Использование исходного изображения Android из плагина NativeScript - PullRequest
0 голосов
/ 17 сентября 2018

Я пишу плагин NativeScript для библиотеки Stripe. В Android я не могу понять, как превратить идентификатор ресурса из собственной библиотеки в нарисованное изображение.

Один из моих звонков возвращает идентификатор, полученный из R.drawable.xxx. Изображение находится в ресурсах родной библиотеки. Я хочу превратить это в изображение, которое я могу нарисовать с помощью тега.

Я пробовал этот код:

import { android as androidApp } from "application";
let res = ...; // obtained from native library
let image = android.graphics.BitmapFactory.decodeResource(
  androidApp.foregroundActivity.getResources(),
  res);

но decodeResource() возвращает null. Нативная библиотека может рисовать одно и то же изображение, поэтому ресурс каким-то образом попадает в приложение. Я просто не знаю, как получить к нему доступ из своего кода.

Примечание. В iOS этот же вызов возвращает UIImage, который работает правильно. Хотелось бы, чтобы Stripe был более последовательным между их API для iOS и Android!

1 Ответ

0 голосов
/ 18 сентября 2018

Я разобрался в проблеме.Оказывается, мой диагноз был неверным.Ресурс был найден, но это был VectorDrawable и decodeResource() не может правильно его декодировать.

Техника преобразования VectorDrawable в Bitmap, опубликованная в , этот вопрос работает.

...