#flutter #flutter-layout #flutter-widget #flutter-dialog
Вопрос:
У меня есть диалог, я пытаюсь обернуть содержимое в диалог, однако у меня несколько проблем
1)Использование wrap не гарантирует, что содержимое находится в диалоговом окне предупреждения
2)выравнивание содержимого не является центральным.
Я перепробовал все возможные варианты выравнивания, и это не работает. При использовании растягивания столбца виджета я подумал, что, возможно, будет работать использование переноса . Но это не так. Есть какое-нибудь решение?
С Колонкой
With Colored Container in a wrap to check the issue and with size box with defined width of display * 0.25 so that text does not go away from screen
Код
showDialog(
barrierDismissible: false,
barrierColor: Colors.black26,
context: context,
builder: (context) {
return StatefulBuilder(
builder: (context, setState) {
return AlertDialog(
contentPadding: EdgeInsets.all(20),
content: Wrap(
direction: Axis.vertical,
alignment: WrapAlignment.spaceAround,
runAlignment: WrapAlignment.center,
crossAxisAlignment: WrapCrossAlignment.center,
runSpacing: 10,
children: [
Lottie.asset(
Constants.location_anim,
height: displaySize.height * 0.25,
repeat: true,
reverse: true,
animate: true
),
Text(locationMsgTextView,softWrap: true,),
getLocationDeniedWidget(context,state),
],
),
elevation: 3,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20)),
);
},
);
});
Комментарии:
1. Используйте виджет центра со столбцом, имеющим поперечное смещение: центр
2. Одна из проблем — виджет «Столбец» растягивает представление сверху и снизу. Теперь диалоговое окно выглядит как полномасштабное диалоговое окно
3. @AfridiKayal пожалуйста, проверьте прикрепленные изображения с вопросом
4. Попробуйте установить минимальное значение mainAxisSize столбца.
5. Хорошо, центр, должно быть, занимает место. Удалите центр и просто используйте столбец вместо строки с главной осью в качестве минимальной и перекрестной осью в качестве центра. Я протестировал его в дартпаде, и он должен работать