Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
595 of 1024 menu
◀ ▶

Виджет EditableText

Виджет EditableText это низкое поле, из которого собран TextField. Ему нужны TextEditingController, FocusNode, стиль текста и цвет каретки. Рамки и подписи у него нет.

Синтаксис

EditableText(controller: controller, focusNode: focusNode, style: style, cursorColor: cursorColor, backgroundCursorColor: backgroundCursorColor)

Параметры

Параметр Описание
controller Текст и выделение поля. Принимает TextEditingController.
focusNode Фокус и клавиатура. Принимает FocusNode.
style Оформление вводимых символов. Принимает TextStyle.
cursorColor Цвет каретки. Принимает Color.
backgroundCursorColor Цвет каретки, когда поле не в фокусе. Принимает Color.

Пример

Давайте показать голое поле с кареткой:

import 'package:flutter/material.dart'; void main() { runApp(const Field()); } class Field extends StatefulWidget { const Field({super.key}); @override State<Field> createState() => _FieldState(); } class _FieldState extends State<Field> { final controller = TextEditingController(text: 'abcde'); final focusNode = FocusNode(); @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( body: Center( child: EditableText( controller: controller, focusNode: focusNode, style: TextStyle(color: Colors.black, fontSize: 18), cursorColor: Colors.blue, backgroundCursorColor: Colors.grey, ), ), ), ); } }

На экране строка 'abcde' без рамки. Фокус показывает синюю каретку.

Смотрите также

  • виджет TextField,
    который добавляет к этому полю рамку и подпись
  • класс TextEditingController,
    который хранит строку поля
  • класс FocusNode,
    который держит фокус и клавиатуру
  • класс WidgetTester,
    чей enterText пишет и в EditableText
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить