измените выбранный цвет текста в области текстового поля

#flutter #user-interface #colors #textfield

#flutter #пользовательский интерфейс #Цвет #текстовое поле

Вопрос:

есть ли какой-либо способ изменить выбранный цвет текста внутри текстового поля в Flutter? Я пытался использовать сам контроллер, но не было особых свойств для игры.. Вот пример того, что я хочу

введите описание изображения здесь

есть ли какой-либо способ добиться такого поведения?

Комментарии:

1. См. Эту проблему github.com/flutter/flutter/issues/99231

Ответ №1:

Используйте TextSpan виджет, под которым находится идеальное воспроизведение вашего образца изображения

 RichText(
    text: TextSpan(
      // set the default style for the children TextSpans
      style: Theme.of(context).textTheme.body1.copyWith(fontSize: 30),
      children: [
        TextSpan(
            text: 'Hello, ',
        ),
        TextSpan(
          text: 'Wor',
          style: TextStyle(
            color: Colors.blue
          )
        ),
        TextSpan(
            text: 'ld',
        ),
      ]
    )
  )
  

Комментарии:

1. но я хочу, чтобы он был доступен для редактирования, выберите определенный текст, а затем измените его цвет.. как это возможно!

Ответ №2:

В текстовом поле это уже стало бы затруднительным, потому что вы не знаете, что вводит пользователь. Если вы говорите о текстовом поле, вы можете использовать RichText

 RichText(
        text: TextSpan(
          // set the default style for the children TextSpans
          style: Theme.of(context).textTheme.body1.copyWith(fontSize: 30),
          children: [
            TextSpan(
                text: 'Styling ',
            ),
            TextSpan(
              text: 'text',
              style: TextStyle(
                color: Colors.blue
              )
            ),
            TextSpan(
                text: ' in Flutter',
            ),
          ]
        )
      )
  

Комментарии:

1. но я хочу, чтобы он был доступен для редактирования, выберите определенный текст, а затем измените его цвет.. как это возможно!

Ответ №3:

Я думаю, что вы ищете форматированный текстовый редактор или текстовое поле, я не думаю, что flutter поддерживает это из коробки. в пабе есть несколько библиотек, которые я нашел, это zypher или creamy_field zypher переписывается в предварительном выпуске, возможно, стоит обратить на это внимание

Комментарии:

1. Большое спасибо, дорогая