如何创建自定义WebView控件Xamarin表单

时间:2019-05-28 05:34:21

标签: xamarin xamarin.forms webview

我正在尝试为Webview创建自定义控件,我试图在Webview中获取一个复选框原因:-我们要显示一堆文本,除非用户到达滚动的结尾,否则他无法移动到下一页和滚动的末尾有一个复选框,用户必须选中该复选框,然后他才能进行处理。在这里,我尝试将复选框和webview放在stacklayout内,但是问题是webview有自己的滚动条,并且当​​用户尝试滚动时,当我尝试关闭Webview时,由于webview滚动条也会滚动出,因此stacklayout滚动条不起作用带有后退按钮的页面,Web视图将关闭,而不是页面

我不确定在这里应该采用哪种方法。

我从我的webapi中获取了html数据。

任何有解决方案的人都会很感激

这是我编写的自定义渲染器,但这里缺少的部分是如何在此内部添加另一个xamarin控件

public class CustomPdfViewRenderer : WebViewRenderer
{

    public CustomPdfViewRenderer(Context context) : base(context)
    {

    }

    protected override void OnElementChanged(ElementChangedEventArgs<WebView> e)
    {
        base.OnElementChanged(e);
        if (Control != null)
        {
            Control.Settings.BuiltInZoomControls = true;
            Control.Settings.DisplayZoomControls = false;

            Control.Settings.LoadWithOverviewMode = true;
            Control.Settings.UseWideViewPort = true;
        }       
    }
}

1 个答案:

答案 0 :(得分:0)

您可以尝试以下方法:

  1. 将复选框添加到HTML
  2. 当用户复选框选中时,将调用某些JavaScript函数
  3. 调用JavaScript函数时,调用C#函数(Xamarin),这将使用户能够处理下一页(或其他Xamarin附带的东西)

以下是如何从JavaScript调用C#函数的方法:HybridWebView