Я хотел бы открыть URL-адрес в WebView из TextSpan - PullRequest
0 голосов
/ 08 января 2020

Вот мой код.

Center(
  child: SingleChildScrollView(
    child: Container(
      child: RichText(
        text: TextSpan(
          //style: DefaultTextStyle.of(context).style,
          children: [
            TextSpan(
              text: 'URL IS IN HERE.COM!\n',  
              style: TextStyle(letterSpacing: 1, fontSize: 26.0, fontWeight: FontWeight.bold, color: Colors.black)
            ),
            ...

Я хотел бы нажать на текстовую строку ('URL IS IN HERE.COM!) И открыть ее в моем виджете веб-просмотра?

Ответы [ 2 ]

0 голосов
/ 11 января 2020

Я решил это после долгих чтений и исследований. Это было лучшее решение с использованием схемы URL.

               onTap: () async {
                    const url = "https:www.example.com";
                  if (await canLaunch(url)) {
                      await launch(url, forceWebView: true);
                } else {
                      throw "Could not launch $url";
                  }
                },
0 голосов
/ 08 января 2020

вы можете использовать свойство распознавателя textpan, а для открытого URL в браузере вы можете использовать этот https://pub.dev/packages/url_launcher

Виджет

TextSpan(text: 'Non touchable. ', children: [
  new TextSpan(
    text: 'Tap here.',
    recognizer: new TapGestureRecognizer()..onTap = () => {
      _launchURL();
    },
  )
])

Метод

_launchURL() async {
  const url = 'https://flutter.dev';
  if (await canLaunch(url)) {
    await launch(url);
  } else {
    throw 'Could not launch $url';
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...