Xamarin.Android文本中间的超链接不工作

x4shl7ld  于 2022-11-03  发布在  Android
关注(0)|答案(1)|浏览(203)

目标:让句子中间的单词成为在浏览器中打开网站的超链接
发生了什么:它看起来像一个超链接,但单击时没有任何React
我尝试过的

  • 我试着把它变成一个意图,这样就可以让它点击了,但是它让整个句子都可以点击了。
  • 此外,我随后切换到使用Html.fromHtml方法。
    C#
string Content = "<span>Please navigate to <a href='https://www.website.com'>HERE</a> to register</span>";
lblTESTSystem.TextFormatted = Html.FromHtml(Content); //lblTESTSystem.SetText(Html.FromHtml(Content, FromHtmlOptions.ModeLegacy), TextView.BufferType.Spannable);

以上代码的外观

使整个句子可单击的替代/第一个C#代码:

//lblTESTSystem.Click += (sender, eventArgs) => 
//{
//    var uri = Android.Net.Uri.Parse("https://www.website.com");
//        var intent = new Intent(Intent.ActionView, uri);
//        StartActivity(intent);
//};
zkure5ic

zkure5ic1#

您可以在xaml页面中添加WebView,然后将html file绑定到WebView.source
在MainPage.xaml中,可以将代码添加到目标页面。

<WebView x:Name="webView" WidthRequest="1000" HeightRequest="1000" />

在主页中。xaml.cs

public partial class MainPage : ContentPage
    {
        public MainPage()
        {
            InitializeComponent();

            webView.Source = "file:///android_asset/name.html";
        }
    }

然后在目标文件包中创建name.html file

<html>
    <body>
       <script src="http://code.jquery.com/jquery-2.1.4.min.js"></script>

       <span>Please navigate to <a href='https://www.website.com'>HERE</a> to register</span>

    </body>
 </html>

相关问题