Сделать круглые кнопки заполняющими ширину строкиIOS

Программируем под IOS
Ответить
Anonymous
 Сделать круглые кнопки заполняющими ширину строки

Сообщение Anonymous »

Я использую Flutter уже пару дней и изо всех сил пытаюсь изменить размер своих кнопок. В настоящее время я использую две кнопки ElevatedButton с фигурами CircleBorder внутри строки внутри столбца, который также содержит обычную кнопку ElevatedButton. Мне нужно, чтобы все кнопки расширялись и занимали всю ширину строки с небольшим запасом по краям. Спасибо.
Изображение

Я использовал цвета только для того, чтобы выделить область, занимаемую контейнером, строкой и кнопками соответственно.
Я пытаюсь использовать вот такой макет:
Изображение

home.dart:
class MyHomePage extends StatelessWidget {
const MyHomePage({super.key});

@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Theme.of(context).colorScheme.inversePrimary,
title: const Text("Select Holes"),
),
body: Container(
color: Colors.lightGreenAccent,
child: const Column(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
SizedBox(height: 30),
HoleSelectionButtons(),
GoButton()
],
),
),
);
}
}

buttons.dart:
class HoleSelectionButtons extends StatelessWidget {
const HoleSelectionButtons({super.key});

@override
Widget build(BuildContext context) {
// TODO: Change size and layout of buttons
return Container(
color: Colors.redAccent,
child: const Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
HoleButton(holes: 9),
HoleButton(holes: 18),
],
),
);
}
}

class HoleButton extends StatelessWidget {
const HoleButton({
required this.holes,
super.key,
});

final int holes;

@override
Widget build(BuildContext context) {
return Container(
color: Colors.blueAccent,
child: Consumer(
builder: (context, state, child) => ElevatedButton(
style: ElevatedButton.styleFrom(
shape: const CircleBorder(),
backgroundColor: state.holeCount() == holes ? Colors.blue : Colors.grey,
// TODO: Make this come from the theme, or at least make it a better colour
),
onPressed: () {
state.setHoleCount(holes);
},
child: Text(holes.toString()),
),
),
);
}
}


Подробнее здесь: https://stackoverflow.com/questions/784 ... dth-of-row
Ответить

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

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

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

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

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