Я пытаюсь создать динамический многоуровневый CupertinoPicker. Когда вы выбираете тип местоположения из первого списка, он отображает список местоположений, которые соответствуют этому типу. Эта часть работает нормально, проблема в том, что если я переключаюсь на другой список местоположений, первый текстовый виджет второго списка местоположений имеет отступ в соответствии с первым текстовым виджетом первого списка местоположений.
Я попытался указать, что виджет Текст должен быть выровнен по центру, используя 'alignment: TextAlignment.center'. Я также попытался установить нулевое местоположение при переключении между списками местоположений. Ни один из них не решил проблему или не имел никакого видимого эффекта.
return Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Container(
padding: EdgeInsets.only(bottom: 5.0),
height: pickerHeight,
width: logicalSize.width,
child: CupertinoPicker(
backgroundColor: Colors.white,
itemExtent: 32.0,
onSelectedItemChanged: (selectedIndex) {
setState(() {
location = null;
locationType = locationTypeList[selectedIndex];
});
},
children: pickerLocationType,
),
),
Container(
height: pickerHeight,
width: logicalSize.width,
child: CupertinoPicker(
backgroundColor: Colors.white,
itemExtent: 30.0,
onSelectedItemChanged: (selectedIndex) {
setState(() {
location = null;
if (locationType == 'Campus') {
location = campusList[selectedIndex];
}
if (locationType == 'City') {
location = cityList[selectedIndex];
}
});
},
children: pickerMap[locationType],
),
),
В результате должна получиться первая строка (представьте, что это набор в CupertinoPicker):
---------------------------------- Город 1 --------------------------------------
---------------------------------- Город 2 --------------------------------------
Но это больше похоже на:
------------------------------- Город 1-----------------------------------------
---------------------------------- Город 2 --------------------------------------
Если изображения нужны, я отредактирую этот пост со ссылкой на них.