Как я могу разобрать и заменить слово в качестве ссылки хэштега, когда пользователь набирает текст, используя флаттер? - PullRequest
2 голосов
/ 14 апреля 2019

Я хочу, чтобы пользователь набрал текст для публикации. Но дело в том, что когда пользователь вводит хэштег (например, #avengers), я могу разобрать и заменить этот хэштег ссылкой или виджетом ontap ... То же самое относится и к ссылкам URL

1 Ответ

1 голос
/ 14 апреля 2019

Предполагая, что вы хотите сделать это после того, как пользователь завершил публикацию, а не внутри панели ввода:

smart_text_view 0.1.0 содержит нечто, называемое LinkTextSpan, которое вы можете использоватьлегко реализовать это на виду.Их папка с примерами содержит пример, который был реализован.

Как показано в Официальной реализации Flutter здесь для Drawyer галереи Flutter, вы можете сделать это:

_LinkTextSpan(
                style: linkStyle,
                url: 'https://something.com',
                text: 'flutter github repo',
              ),

и

_LinkTextSpan({ TextStyle style, String url, String text }) : super(
    style: style,
    text: text ?? url,
    recognizer: TapGestureRecognizer()..onTap = () {
      launch(url, forceSafariVC: false);
    }
  );
...