У меня есть текст в меню, при нажатии на который открывается конкретная ссылка в браузере телефона.

Padding(
      padding: const EdgeInsets.only(left:20.0),
      child: GestureDetector(
        onTap: (){
          //for example link https:google.com
        },
        child:Text(
          "Rate the app",
          style: TextStyle(
              fontSize: 18.0
          ),
        ),
      ),

    ),

1
user266322 19 Июл 2020 в 15:57

2 ответа

Лучший ответ

Вы можете использовать url_launcher.


Padding(
      padding: const EdgeInsets.only(left:20.0),
      child: GestureDetector(
        onTap: () => _launchURL(), // call the _launchURL here
        child:Text(
          "Rate the app",
          style: TextStyle(
              fontSize: 18.0
          ),
        ),
      ),

    ),

_launchURL метод такой:


_launchURL() async {
    const url = 'https://google.com';
    if (await canLaunch(url)) {
      await launch(url);
    } else {
      throw 'Could not launch $url';
    }
  }
3
JideGuru 19 Июл 2020 в 13:04

Зависимости:

url_launcher: последняя версия

импортировать «пакет: url_launcher / url_launcher.dart»;

MaterialButton(
               shape: RoundedRectangleBorder(
                          borderRadius: BorderRadius.all(Radius.circular(20))),
                      color: Colors.white,
                      child: Text(
                        "StackOverflow",
                        style: TextStyle(color: Colors.pink),
                      ),
                      onPressed: () async {
                        final url =
                            "https://stackoverflow.com/users/5137539/anil-kumar?tab=profile";
                        if (await canLaunch(url)) {
                          await launch(
                            url,
                          );
                        }
                      }),
1
Anil Kumar 19 Июл 2020 в 13:08
62980592