亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

自動調整WebView的大小以適合內容

自動調整WebView的大小以適合內容

C#
Helenr 2021-04-26 17:13:22
我正在研究Xamarin.Forms PCL項目,該項目以WebView的形式顯示帖子,因此我添加了可點擊的內容(例如#標簽)。我遇到的問題是WebView無法適應其內容的大小。WebView不會加載實際的網站,我正在使用以下方法將HTML綁定到ListView中的每個帖子"<html><p>" + body + "</p></html>"我嘗試研究自定義渲染器,并按照本教程進行操作,最后得到以下代碼對于Android,我使用了#pragma warning disable CS0618 // Type or member is obsoletepublic class CustomWebViewAndroid : WebViewRenderer{    static CustomWebView _xwebView = null;    WebView _webView;                class ExtendedWebViewClient : Android.Webkit.WebViewClient    {        public override async void OnPageFinished (WebView view, string url)        {            if (_xwebView != null) {                int i = 10;                while (view.ContentHeight == 0 && i-- > 0) // wait here till content is rendered                    await System.Threading.Tasks.Task.Delay (100);                _xwebView.HeightRequest = view.ContentHeight;            }            base.OnPageFinished (view, url);        }    }    protected override void OnElementChanged (ElementChangedEventArgs<Xamarin.Forms.WebView> e)    {        base.OnElementChanged (e);         _xwebView = e.NewElement as CustomWebView;        _webView = Control;        if (e.OldElement == null) {                            _webView.SetWebViewClient (new ExtendedWebViewClient ());        }             }       }對于iOSpublic class CustomWebViewiOS : WebViewRenderer{    protected override void OnElementChanged(VisualElementChangedEventArgs e)    {        base.OnElementChanged(e);        Delegate = new CustomWebViewDelegate(this);    }}public class CustomWebViewDelegate : UIWebViewDelegate{    CustomWebViewiOS webViewRenderer;    public CustomWebViewDelegate(CustomWebViewiOS _webViewRenderer = null)    {        webViewRenderer = _webViewRenderer ?? new CustomWebViewiOS();    }在iOS上,它無法正確隔開帖子,并切斷了其上方的時間戳。我的猜測是ViewCell的高度會根據內容進行調整,但不會考慮其他帖子。同樣對于iOS,如果文本需要兩行,則需要滾動查看其余內容。
查看完整描述

2 回答

?
qq_花開花謝_0

TA貢獻1835條經驗 獲得超7個贊

要顯示HTML內容,您可以使用它,它對我來說就像是魅力,我們不需要使用渲染器來適應內容的大小。

<Label BackgroundColor="White" Text="{Binding description}" TextType="Html"/>


查看完整回答
反對 回復 2021-05-08
  • 2 回答
  • 0 關注
  • 258 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號