Я создаю новое приложение для чтения.
И у меня есть html, который является главой.
Я создал специальную метку htmlLabel, которая будет содержать html
Проблема в том, что размер метки такой же большой, как и весь экран. Весь остальной текст остается скрытым
У меня есть метка внутри скролл-просмотра, но даже при этом она увеличивается только до размера экрана для некоторая причина
Вот мой пользовательский рендерер меток. Теперь я знаю, что могу использовать веб-просмотр, но мне все равно нужен ярлык.
sing System;
using System.ComponentModel;
using Android.Content;
using Android.Support.V4.Text;
using Android.Text;
using Android.Widget;
using Comic.Viewer.Controllers;
using Comic.Viewer.Droid.Renderer;
using Xamarin.Forms;
using Xamarin.Forms.Platform.Android;
[assembly: ExportRenderer(typeof(ClickableHtmlLabel), typeof(ClickableHtmlLabelRenderer))]
namespace Comic.Viewer.Droid.Renderer
{
public class ClickableHtmlLabelRenderer : LabelRenderer
{
public ClickableHtmlLabelRenderer(Context context) : base(context)
{
}
protected override void OnElementChanged(ElementChangedEventArgs<Label> e)
{
base.OnElementChanged(e);
Control?.SetText(HtmlCompat.FromHtml(Element.Text, HtmlCompat.FromHtmlModeLegacy), TextView.BufferType.Spannable);
}
protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
{
base.OnElementPropertyChanged(sender, e);
if (e.PropertyName == Label.TextProperty.PropertyName)
{
Control?.SetText(HtmlCompat.FromHtml(Element.Text, HtmlCompat.FromHtmlModeLegacy), TextView.BufferType.Spannable);
}
var el = Element as ClickableHtmlLabel;
this.Click += new EventHandler((o, sender) =>
{
el.Clicked();
});
}
}
}