Как я могу отобразить пользовательский виджет в соответствии с HTML-тегами, используя пакет flutter_html? - PullRequest
0 голосов
/ 09 июня 2019

У меня есть HTML-документ, и я хочу отрендерить его с помощью Flutter с помощью плагина flutter_html.Я хочу по-разному отображать разные типографии.Например.Я хочу иметь другой шрифт и размер для жирного шрифта и другой для не выделенного жирным шрифтом.

Я попытался прочитать документацию, которая имеет свойство для конструктора Html под названием customRenderer, я не мог понять реализацию для него.

Ниже приведен код из документации.

  Html(
    data: """
      <!--For a much more extensive example, look at example/main.dart-->
      <div>
        <h1>Demo Page</h1>
        <p>This is a fantastic nonexistent product that you should buy!</p>
        <h2>Pricing</h2>
        <p>Lorem ipsum <b>dolor</b> sit amet.</p>
        <h2>The Team</h2>
        <p>There isn't <i>really</i> a team...</p>
        <h2>Installation</h2>
        <p>You <u>cannot</u> install a nonexistent product!</p>
        <!--You can pretty much put any html in here!-->
      </div>
    """,
    padding: EdgeInsets.all(8.0),
    backgroundColor: Colors.white70,
    defaultTextStyle: TextStyle(fontFamily: 'serif'),
    linkStyle: const TextStyle(
      color: Colors.redAccent,
    ),
    onLinkTap: (url) {
    },
    customRender: (node, children) {
      if(node is dom.Element) {
        switch(node.localName) {
          case "video": return Chewie(...);
          case "custom_tag": return CustomWidget(...);
        }
      }
    },
  )

Если я просто смогу изменить размер шрифта и семейство шрифтов в соответствии с именем тега, это подойдет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...