Как использовать Html.IImageGetter в Xamarin Forms Renderer

474
16 сентября 2017, 22:21

Всем добрый день, я не совсем понимаю как использовать Html.IImageGetter. Столкнулся с тегами html и в поиске наткнулся на пример HtmlFormattedLabel, но там работает только с текстом, но картинку выдает в виде квадрата. Как работать с img src =\ тег при Html.IImageGetter?

Вот код:

public class HtmlFormattedLabelRenderer : LabelRenderer
{
    protected override void OnElementChanged(ElementChangedEventArgs<Label> e)
    {
        base.OnElementChanged(e);
        var view = (HtmlFormattedLabel)Element;
        if (view == null)
            return;
        var image = new NewsImageGetter();
        image.GetDrawable(view.Text);
        Control.SetText(Html.FromHtml(view.Text, image, null), TextView.BufferType.Spannable);
    }
}
public class NewsImageGetter : Java.Lang.Object, Html.IImageGetter
{
    public Drawable GetDrawable(string source)
    {
        Drawable drawable;
        Bitmap bitMap;
        BitmapFactory.Options bitMapOption;
        try
        {
            bitMapOption = new BitmapFactory.Options();
            bitMapOption.InJustDecodeBounds = false;
            bitMapOption.InPreferredConfig = Bitmap.Config.Argb4444;
            bitMapOption.InPurgeable = true;
            bitMapOption.InInputShareable = true;
            var url = new Java.Net.URL(source);
            bitMap = BitmapFactory.DecodeStream(url.OpenStream(), null, bitMapOption);
            drawable = new BitmapDrawable(bitMap);
        }
        catch (Exception)
        {
            return null;
        }
        drawable.SetBounds(0, 0, bitMapOption.OutWidth, bitMapOption.OutHeight);
        return drawable;
    }
}
READ ALSO
Самое первое событие

Самое первое событие

Нужно что-бы при старте программы проверялось PropertiesSettings

213
Ошибка при вставке изображений в кнопку

Ошибка при вставке изображений в кнопку

После добавления картинки в кнопку стала вылезать такая ошибка:

316
Как добавить дополнительную информацию по установленной программе?

Как добавить дополнительную информацию по установленной программе?

Всем приветЕсть разработанное приложение

246