2016-11-08 11 views
1

У меня есть Drawable, созданный библиотекой, он делает круглое изображение с буквой внутри.Подходит для ввода данных в android

Но в представлении, которое мне нужно вставить, принимает только URL-адрес, и мне нужно преобразовать его в URL-адрес, но я не знаю, как это сделать.

Drable выглядит следующим образом:

TextDrawable drawable = TextDrawable.builder() 
          .buildRound(mConnection.getUser().substring(0, 1).toUpperCase(), ContextCompat.getColor(getApplicationContext(),mConnection.getContactStatus(mcontact).getColor()));; 

заранее спасибо

+0

URL-адрес данных - это орфографический код URI данных - URI, который представляет собой ресурс, а не местоположение ресурса. –

+0

Тогда, можно это сделать? Я имею в виду, что мне нужно отправить: 'textMessage.setAvatarUrl (String url);' – Shudy

+0

Из изображения, хранящегося в вашей папке с возможностью рисования, вы можете получить URI, используя некоторые из методов, описанных здесь: http: // stackoverflow. com/questions/6602417/get-the-uri-of-image-stored-in-drawable. Однако я не знаю, возможно ли получить URI из локальной переменной. –

ответ

2

Но в представлении, что я должен вставить, принимает только URL-адрес

прекратить использование этого View и переключатель к другому, который принимает Drawable.

Мне нужно преобразовать эту вытяжке в URL

Если вы хотите тратить RAM, процессор и аккумулятор пользователя, вы можете нарисовать Drawable к Bitmap -backed Canvas, пишут, что Bitmap (например, PNG), используя compress(), затем попробуйте использовать file:///URL.

Ваше название вопроса предлагает использовать data:URL. Если в документации для этого неидентифицированного View не указано, что View поддерживает схему data, скорее всего, это не так.