Как я могу сделать набросок текста? - PullRequest
0 голосов
/ 01 ноября 2018

Как я могу сделать выделенный текст для текстового виджета? Это как эффект удара

Ответы [ 2 ]

0 голосов
/ 08 ноября 2018

Вы можете попробовать эту опцию: https://stackoverflow.com/a/53211151/1534666


Копия ответа: Я тоже искал, не смог найти. Но я нашел обходной путь, используя 4 тени в TextStyle:

Text("Border test",
    style: TextStyle(
      inherit: true,
      fontSize: 48.0,
      color: Colors.pink,
      shadows: [
        Shadow( // bottomLeft
          offset: Offset(-1.5, -1.5),
          color: Colors.white
        ),
        Shadow( // bottomRight
          offset: Offset(1.5, -1.5),
          color: Colors.white
        ),
        Shadow( // topRight
          offset: Offset(1.5, 1.5),
          color: Colors.white
        ),
        Shadow( // topLeft
          offset: Offset(-1.5, 1.5),
          color: Colors.white
        ),
      ]
    ),
);

Я также открыл проблему на GitHub: https://github.com/flutter/flutter/issues/24108

0 голосов
/ 01 ноября 2018

UPD:

Я бы не назвал это лучшим решением, но оно работает

Stack(
  children: <Widget>[
    Text(
      'TEXT',
      textAlign: TextAlign.center,
      style: TextStyle(
          color: Colors.purple,
          fontWeight: FontWeight.bold,
          fontSize: 36.0),
    ),Text(
      'TEXT',
      textAlign: TextAlign.center,
      style: TextStyle(
          foreground: Paint()..color = Colors.white..style = PaintingStyle.stroke..strokeWidth = 1.0,
          fontWeight: FontWeight.bold,
          fontSize: 36.0),
    ),
  ],
);

В TextStyle вы не можете определить и color, и foreground, поэтому я попытался использовать Stack с двумя одинаковыми Text с разными украшениями.

Как я уже сказал - не лучшее решение, но, возможно, оно подойдет кому-то

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