Перенос содержимого по ширине кнопки вместо фиксированной ширины

#flutter #flutter-layout #flutter-animation

#flutter #flutter-макет #flutter-анимация

Вопрос:

У меня есть RaisedButton, в котором есть дочерний текст и некоторые отступы внутри. Когда я нажимаю кнопку, я использую AnimatedBuilder и контейнер для изменения размера ширины контейнера, чтобы отобразить индикатор загрузки.

 return Container(
  height: widget.height,
  width: lerpWidth(widget.width, minWidth, _animation.value),
)
  

Теперь проблема в том, что я не хочу использовать фиксированную ширину для своего контейнера, поскольку текст может зависеть от длины (переводы, отображение чисел, ..). Если бы моя переданная длина строки была больше, контейнер не масштабировался бы вместе с ней. Я также не хочу, чтобы моя кнопка расширяла всю ширину экрана.

Итак, в основном я хочу расширить свою кнопку до минимальной ширины дочернего элемента (включая заполнение) и использовать эту ширину для анимации контейнера, чтобы показать CircularProgressIndicator

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

1. вы не можете использовать AnimatedSize ?

2. AnimatedSize поставил бы меня перед той же проблемой, что и мне, поскольку мне также нужно было бы передать начальный размер. Я хотел бы перенести свой контент (как в родном Android) или мне нужно выполнить некоторые предварительные вычисления?

3. В принципе, я не хочу передавать начальное значение ширины и высоты. Я хочу, чтобы размер моей кнопки зависел от заданного содержимого (текста), а при нажатии анимируйте ее в виде круга, чтобы показать индикатор. После завершения загрузки он должен анимироваться обратно к исходному значению.