LoginSignup
1
0

OverflowBoxを活用して、分割ラインに親のpaddingを無視させる

Posted at

下記のようなレイアウトはデザイナーより依頼されることは多い。

灰色のdividerが本体のpaddingを受け付けないことがわかる。
普通に書くと、下記のようになる。特に青色の部分は複雑になると、コードが読みづらい。

Column(
    children: [
        Padding(...) // 青色の部分
        divider,
       Padding(...) // 青色の部分
     divider, 
    ]
),

そこで、OverflowBoxを活用すると、paddingは全体で共通化されることになり、コードがすっきりになる

Padding(
    padding: ...
    child: Column(
        children: [
            ... // 青色の部分
            SizedBox(height: 5, 
                child: OverflowBox(maxHeight: 5, child: divider)
            ),
            ... // 青色の部分
            SizedBox(height: 5, 
                child: OverflowBox(maxHeight: 5, child: divider)
            ),
        ]
    )
    
)

OverflowBoxの外をSizedBoxで囲まないと、overflowになってしまうので、要注意

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0