gpt4 book ai didi

android - Jetpack Compose 减少选项卡的内部填充

转载 作者:行者123 更新时间:2023-12-04 17:14:25 24 4
gpt4 key购买 nike

我想减少单个选项卡的填充。下图显示了我想要的:
1
我得到了什么:
2
我目前正在使用版本为 0.16.0 的“accompanist-pager”和“accompanist-pager-indicators”。
代码:

@Composable
fun Tabs(tabNames: List<String>, pagerState: PagerState, scrollToPage: (Int) -> Unit) {
TabRow(
selectedTabIndex = pagerState.currentPage,
backgroundColor = Color.White,
contentColor = Color.Black,
divider = {
TabRowDefaults.Divider(
thickness = 4.dp
)
},
indicator = { tabPositions ->
TabRowDefaults.Indicator(
modifier = Modifier.customTabIndicatorOffset(tabPositions[pagerState.currentPage]),
height = 4.dp,
color = EmeraldTheme.colors.primary
)
}
) {
tabNames.forEachIndexed { index, name ->
Tab(
text = {
Text(
text = name,
maxLines = 1,
style = globalSearchDefaultTextStyle,
fontWeight = if (pagerState.currentPage == index) FontWeight.Bold else FontWeight.Normal,
color = if (pagerState.currentPage == index) EmeraldColor.Black100 else colorResource(globalSearchR.color.darkGrey20),
)
},
selected = pagerState.currentPage == index,
onClick = {
scrollToPage(index)
}
)
}
Row { Spacer(Modifier.weight(1f, true)) }
}
}

最佳答案

使用当前版本的 TabRow (或 ScrollableTabRow )您将无法做到这一点。您需要创建自己的 TabRow可组合的。
此外,您可能应该使用 ScrollableTabRow而不是 TabRow因为TabRow均匀分布整个可用的 width为其Tabs .所以内容填充并不重要。
您几乎可以复制粘贴 ScrollableTabRow 的整个代码, 但修改设置 tabConstraints 的位.
它不应再使用 minTabWidth :

val minTabWidth = ScrollableTabRowMinimumTabWidth.roundToPx()

关于android - Jetpack Compose 减少选项卡的内部填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68949292/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com