flutter получает ширину и высоту виджета внутри состояния инициализации

#flutter

#flutter

Вопрос:

У меня есть виджет с компоновщиком:

 @override
Widget build(BuildContext context) {
  return LayoutBuilder(
    builder: (context, constraints) {

      return Transform.translate(
          offset: Offset(100,20),
          child: Container(
                 width: 50,
                 height: 50
                 );
    },
  );
}
  

Я хочу получить BoxConstraint компоновщика внутри initState:

 double height;
double width;

void initState() {
  super.initState();

  // get constraint
  height = constraint.maxHeight;
  width = constraint.maxWidth;
 
}
  

Как я могу добиться такого?

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

1. чего именно вы пытаетесь достичь?

2. У меня разные виды анимации анимации. каждая анимация имеет разные типы конечных и начальных переменных, которые зависят от ширины и высоты. Мне нужно получить доступ к ширине и высоте перед созданием метода сборки

3. Итак, зачем вам нужен доступ в методе инициализации? Вы можете использовать метод setstate для обновления значений ваших переменных, а затем использовать позже

4. Потому что эта страница имеет разные конфигурации. и каждый раз, когда пользователь заходит на страницу, он получает одну случайную конфигурацию, которая начинает анимироваться при открытии страницы. Итак, мне нужно начать анимацию из состояния инициализации, но для анимации мне нужны ширина и высота

5. Так что лучше сделайте одно: определите случайную или выбранную вами ширину или высоту в методе инициализации, а затем используйте эти значения для настройки