Как добавить гиперссылку на текст в уценке во флаттере - PullRequest
0 голосов
/ 24 марта 2020

Я хотел бы добавить гиперссылку внизу экрана, где читается виджет «Уценка». Я попытался включить гиперссылку в файл уценки, но флаттер не запускает его.

Затем я попытался это сделать:

Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Protective measures'),
      ),
      body: Column(
        children: <Widget>[
          Flexible(
            child: FutureBuilder(
              future: DefaultAssetBundle.of(context)
                  .loadString("assets/docs/protective_measures.md"),
              builder:
                  (BuildContext context, AsyncSnapshot<String> snapshot) {
                if (snapshot.hasData) {
                  return Markdown(
                    data: snapshot.data,
                    styleSheet: MarkdownStyleSheet(
                      textAlign: WrapAlignment.start,
                      p: TextStyle(
                        fontSize: 16,
                        color: isDark ? Colors.white : Colors.black,
                      ),
                      h2: TextStyle(
                        fontSize: 20,
                        fontWeight: FontWeight.bold,
                        color: isDark ? Colors.white : Colors.black,
                      ),
                      h1: TextStyle(
                        fontWeight: FontWeight.bold,
                        fontSize: 25,
                        color: isDark ? Colors.white : Colors.black,
                      ),
                    ),
                  );
                }

                return Center(
                  child: CircularProgressIndicator(),
                );
              },
            ),
          ),
          InkWell(
            child: Text(
              'My Hyperlink',
              style: TextStyle(
                fontWeight: FontWeight.bold,
                fontSize: 20,
                color: Colors.blue,
                decoration: TextDecoration.underline
              ),
            ),
            onTap: () => launch('https://stackoverflow.com'),
          ),
        ],
      ),
    );
  }

Результат не совсем то, что я хотел. Я хочу гипертекст в нижней части экрана, сразу после уценки. Я также пытался использовать ListView вместо Column, но он не работает.

Есть подсказка?

1 Ответ

0 голосов
/ 24 марта 2020

Я понял. У виджета Markdown() есть метод onTapLink, и мне просто нужно сделать:

onTapLink(url){
  launch(url);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...