因为这两个行代码 导致ScrollableTabRow最小宽度就只能是90.dp 然后UI给设个375两边再空8.dp 刚好一行显示4个tab
解决办法 反射
object UIUtils {
fun scrollableTabRowMinimumTabWidthChange() {
val clazz = Class.forName("androidx.compose.material.TabRowKt")
val field = clazz.getDeclaredField("ScrollableTabRowMinimumTabWidth")
field.isAccessible = true
field.set(null, 0.0f) // set tab min width to 0
}
}
然后这个TabRow的页面初始化执行一次,你也可以在MainActivity里执行一次 由于这个东西是全局的所以这个一设置以后全部都会改,所以建议修改上面方法 然后把width传进去在使用的UI初始化的时候调用
LaunchedEffect(key1 = Unit, block = {
scrollableTabRowMinimumTabWidthChange()
})