Open7
Jetpack Compose で ScrollableTabRow の左右の padding がカスタマイズできない
ScrollableTabRow の minTabWidth をカスタマイズできるように tabPadding のために別のプロパティを追加したいという Issue
タブ間のカスタム tabPadding と minTabWidth が必要な場面において、 ScrollableTabRow 内では、ハードコードされた最小タブ幅の制約を持っており、これにより標準の ScrollableTabRow でカスタマイズができない状況
ScrollableTabRowMinimumTabWidth
が 90.dp
でハードコードされている
minTabWidth
は内部的に処理され、パラメータとして与えることができない
Issue Tracker では reflection が提案されている
Stack Overflow では、 reflection の影響範囲が大きすぎるので、ベタに元のコードをコピー&ペーストして、ハードコードされている部分をカスタマイズする回答があります。
以下の行で 90.dp
にハードコードされた minTabWidth
を 0
に書き換える
(正確には、 90.dp
にハードコードされた ScrollableTabRowMinimumTabWidth
を roundToPx()
した minTabWidth
)
- val tabConstraints = constraints.copy(minWidth = minTabWidth)
+ val tabConstraints = constraints.copy(minWidth = 0)