Почему SingleChildScrollView Center горизонтальный ряд, когда это не должно?Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Почему SingleChildScrollView Center горизонтальный ряд, когда это не должно?

Сообщение Anonymous »

У меня есть этот код: < /p>
Widget _buildPaymentMethodList() {
return SingleChildScrollView(
scrollDirection: Axis.horizontal,
child: Row(
children: paymentMethods.map((paymentMethod) => _buildPaymentMethodItem(paymentMethod)).toList(),
),
);
}

и SingleChildScrollview В центре макета детская строка , которые следует прокрутить горизонтально
Но когда я удаляю SingleChildScrollView , ряд выравнивается в левую часть:
"langind ="> "langind ="> Widget _buildPaymentMethodList() {
return Row(
children: paymentMethods.map((paymentMethod) => _buildPaymentMethodItem(paymentMethod)).toList(),
);
}

это странно, и я не знаю, что заставляет SingleChildScrollView центрировать ряд , когда я не использовал событие, используя центр Виджет
Я даже пробовал искать _buildpaymentmethoditem . /> edit:
без пользовательского виджета:
Widget _buildPaymentMethodItem(String paymentMethod) {
return Padding(
padding: const EdgeInsets.all(8.0),
child: Container(
padding: const EdgeInsets.all(8.0),
decoration: BoxDecoration(
color: Colors.white,
border: Border.all(color: Colors.blue),
borderRadius: BorderRadius.circular(8.0),
),
child: Row(
children: [
Checkbox(
value: selectedItem == paymentMethod,
onChanged: (_) {
setState(() {
selectedItem = paymentMethod;
});
},
),
Text(
paymentMethod,
style: TextStyle(
fontSize: 16,
),
),
],
),
),
);
}

edit:
с пользовательским виджетом (который создает тот же пользовательский интерфейс, что и изображение)
Widget _buildPaymentMethodItem(String paymentMethod) {
return Container(
padding: const EdgeInsets.all(Dimensions.space1),
decoration: BoxDecoration(
color: AppColor.white,
border: WidgetUtil.borderPrimaryTint,
borderRadius: WidgetUtil.borderRadiusRoundedAllSides,
),
child: AppCheckBox(
checked: selectedItem == paymentMethod,
size: 16,
text: paymentMethod,
onChanged: (_) {
setState(() {
selectedItem = paymentMethod;
});
},
),
).paddingRight(Dimensions.space1);
}

Я получил что -то вроде этого:

Но я ожидаю что -то вроде этого:


Подробнее здесь: https://stackoverflow.com/questions/772 ... t-supposed
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»