Я пытаюсь устроить два text
в row
. Второй текст состоит всего из нескольких слов, но первый может быть очень длинным. Моя цель - показать второй текст полностью и заполнить оставшееся место первым. Если первый виджет слишком широкий, я хочу обрезать его многоточием.
Мой код
class MyHomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
GlobalKey key = GlobalKey();
return Row(
children: [
Container(
child: Text("Really really really long long long teeeeext",
maxLines: 1,
overflow: TextOverflow.ellipsis),
width: MediaQuery.of(context).size.width - MediaQuery.of(key.currentContext).size.width),
Text("short text", key: key)
],
);
}
}
Я полагаю, это не удается с The following assertion was thrown building MyHomePage(dirty, dependencies: [MediaQuery]): I/flutter (28083): 'package:flutter/src/widgets/media_query.dart': Failed assertion: line 810 pos 12: 'context != I/flutter (28083): null': is not true.
, потому что движок Flutter еще не начал рендеринг виджета с коротким текстом, поэтому его размер в настоящее время неизвестен.
Любая помощь будет оценена по достоинству.