Flutter Columnの要素で一部だけ親のを横幅をはみ出すには?
実現したいこと
以下のようなコードがあったとします。
Center(
child: FractionallySizedBox(
widthFactor: isTablet ? .583 : .872, // Scaffoldのbody全体の横幅
child: const _Form(),
),
),
class _Form extends HookConsumerWidget {
const _Form({
Key? key,
}) : super(key: key);
@override
Widget build(BuildContext context, WidgetRef ref) {
final isTablet = ref.read(deviceTypeProvider).sizeType.isTablet;
return Column(
children: [
if (isTablet)
const SizedBox(height: 20)
else
const SizedBox(height: 16),
// 省略
_Form()
の親となるウィジェットで横幅の最大値を比率で指定しています。
そこでもし_Form()`の一部だけ、親のを横幅をはみ出して画面幅いっぱいにしたい場合はどのように実装すればいいでしょうか?
イメージとしては👇のような感じです!
試したこと
cssでよくあるネガティブマージンが使えるのか試しましたが、Flutterではそれができないようでした。。。
一部だけ横幅を画面幅と同じにしたい場合は、Scaffoldのbody全体に横幅を指定するようなやり方がそもそも良くないのでしょうか?
1