Я пытаюсь исправить размер ширины моей кнопки, но каждый раз она занимает все доступное место по ширине экрана. Прикрепляю код кнопки:
ConstrainedBox(
constraints: BoxConstraints.tight(const Size(200, 35)),
child: ElevatedButton(
onPressed: () async {
types.Room room =
await FirebaseChatCore.instance.createRoom(user!);
if (!mounted) return;
Navigator.of(context).push(
MaterialPageRoute(
builder: (context) => ChatPage(room: room),
),
);
},
child: Container(
color: Colors.blue,
child: const Text(
"Send Message",
),
),
),
),
Я попытался изменить контейнер с помощью SizedBox, но произошла та же ошибка.
Спасибо за вашу помощь,
Вы можете изменить размер кнопки Elevated с помощью SizedBox следующим образом:
SizedBox(
width: 250,
child: ElevatedButton(
onPressed: () {
//onTap function define here
},
child: const Text('Send Message'),
),
)
Вы можете обернуть ElevatedButton с помощью SizedBox, а затем дополнительно обернуть его виджетом UnconstainedBox, если кнопка по-прежнему не получает явного размера.
UnconstrainedBox(
child: SizedBox(
width: 140,height:45,
child: ElevatedButton(
onPressed: () {
//onTap function define here
},
child: const Text('Send Message'),
),
)
)
ElevatedButton
есть параметр стиля, который использует ElevatedButton.styleFrom
. В котором у нас есть три параметра для размера.
ElevatedButton(
child: Text('Button'),
onPressed: () {},
style: ElevatedButton.styleFrom(
fixedSize: Size(150, 150), //For Fixed Size
minimumSize: Size(100, 100), //For Minimum Size of button
maximumSize: Size(200, 200), //For Maximum Size of button
),
),
Чтобы изменить только ширину, используйте Size.fromWidth(100)
.
Я удалил свой контейнер и добавил поле стиля с помощью ElavatedButton.styleFrom(), но размер ширины моей кнопки всегда занимает всю ширину моего экрана. Высота может быть обновлена, но не ширина, и я не понимаю, почему.
Можете ли вы добавить код родителя ElevatedButton
. Он завернут в строки?
Я уже пробовал с коробкой размера, но результат такой же, как у контейнера или приподнятой кнопки.