android - 使用 Jetpack Compose 左对齐自定义选项卡
解决方案
Jetpack composeScaffold
对于这种情况,这样的东西应该适合你
enum class Tab {
Day,
Week,
Month,
}
@Composable
fun TestView(
) {
var selectedTab by remember { mutableStateOf(Tab.Day) }
Scaffold(topBar = {
Row(Modifier.padding(5.dp)) {
Tab.values().forEach { tab ->
BottomBarButton(
tab.name,
selected = selectedTab == tab,
onSelect = {
selectedTab = tab
},
)
}
}
}) {
when (selectedTab) {
Tab.Day -> Text("$selectedTab content")
Tab.Week -> Text("$selectedTab content")
Tab.Month -> Text("$selectedTab content")
}
}
}
@Composable
fun BottomBarButton(
text: String,
selected: Boolean,
onSelect: () -> Unit
) {
Text(
text,
modifier = Modifier
.background(
if (selected)
Color.Green
else
Color.Transparent
)
.clickable(onClick = onSelect)
.padding(10.dp)
)
}
如果您需要底栏,只需替换topBar = {
为bottomBar = {
查看更多关于脚手架的信息
推荐阅读
- javascript - 每次 MySQL 表刷新时刷新 div
- python - Selenium 打开新标签而不是下载
- node.js - 为什么我的 Node.js 应用程序在 Mac 上安装后没有显示在桌面上?
- php - php html dom 数组按数组替换或 preg_replace
- r - 如何在R中组合两列不同数据集?
- php - 谷歌身份验证的身份验证状态参数无效
- python - 修复在 pandas 中读取 csv/txt 时下载的坏行
- c# - Xamarin android 崩溃调试
- fortran - 开放式加速器 | Fortran 90:并行化嵌套 DO 循环的最佳方法是什么?
- flutter - Flutter/ 从 URL 获取 PDF 文件