Kotlin Jetpack Compose:如何从修饰符 fillMaxHeight 中删除 dp 或 size
Kotlin Jetpack Compose: How to remove dp or sizefrom the Modifier fillMaxHeight
我正在制作一个闹钟应用程序来学习,现在我有一个惰性列,我希望它尽可能大,但是每当我添加修饰符 'fillMaxSize' / 'fillMaxHeight' 它越过我在屏幕底部的导航栏。我怎样才能从 lazyColumn 所在的盒子中删除一些尺寸或 dp。(或者他们是解决这个问题的更简洁的方法)
Box(
modifier = Modifier
.fillMaxSize()
.background(Color.White)
) {
Column(
verticalArrangement = Arrangement.SpaceBetween,
modifier = Modifier
.fillMaxSize()
) {
Title(
image1 = painterResource(R.drawable.ic_arrow_back),
image2 = painterResource(R.drawable.ic_cog),
text = "Alarms",
onClick1 = {},
onClick2 = {}
)
Column(
modifier = Modifier
.fillMaxSize()
) {
Box(
modifier = Modifier
.padding(top = 40.dp, end = 15.dp)
.align(Alignment.End)
) {
CButton(
image = painterResource(R.drawable.ic_create),
text = "Create",
textColor = LSecondary,
bgColor = LPrimary,
) {}
}
val boxTop = 60
Box(
modifier = Modifier
.padding(top = boxTop.dp)
.fillMaxHeight()
) {
val alarmRepo = AlarmRepository()
val items = alarmRepo.getAllData()
LazyColumn {
itemsIndexed(
items = items,
key = { index, alarm ->
alarm.id
}
) { index, alarm ->
AlarmList(alarm = alarm)
}
}
}
}
NavBar(
onScreen = 1,
onClick1 = {},
onClick2 = {},
onClick3 = {},
onClick4 = {},
)
}
}
}
对于具体问题,您始终可以在 fillMaxHeight(...)
中包含宽度百分比。
话虽这么说,您可能想在这里做的是有一个主 Scafford
和您的内容,然后将您的导航栏添加为 bottomBar
属性。您可能想将 NavBar
组件更新为 BottomAppBar
,但它应该可以工作。
Scaffold(
topBar = { /* Top toolbar, if you want it. */ },
bottomBar = { /* Bottom Nav bar, which is what you want to add. */ },
) {
/* App content goes here */
}
我正在制作一个闹钟应用程序来学习,现在我有一个惰性列,我希望它尽可能大,但是每当我添加修饰符 'fillMaxSize' / 'fillMaxHeight' 它越过我在屏幕底部的导航栏。我怎样才能从 lazyColumn 所在的盒子中删除一些尺寸或 dp。(或者他们是解决这个问题的更简洁的方法)
Box(
modifier = Modifier
.fillMaxSize()
.background(Color.White)
) {
Column(
verticalArrangement = Arrangement.SpaceBetween,
modifier = Modifier
.fillMaxSize()
) {
Title(
image1 = painterResource(R.drawable.ic_arrow_back),
image2 = painterResource(R.drawable.ic_cog),
text = "Alarms",
onClick1 = {},
onClick2 = {}
)
Column(
modifier = Modifier
.fillMaxSize()
) {
Box(
modifier = Modifier
.padding(top = 40.dp, end = 15.dp)
.align(Alignment.End)
) {
CButton(
image = painterResource(R.drawable.ic_create),
text = "Create",
textColor = LSecondary,
bgColor = LPrimary,
) {}
}
val boxTop = 60
Box(
modifier = Modifier
.padding(top = boxTop.dp)
.fillMaxHeight()
) {
val alarmRepo = AlarmRepository()
val items = alarmRepo.getAllData()
LazyColumn {
itemsIndexed(
items = items,
key = { index, alarm ->
alarm.id
}
) { index, alarm ->
AlarmList(alarm = alarm)
}
}
}
}
NavBar(
onScreen = 1,
onClick1 = {},
onClick2 = {},
onClick3 = {},
onClick4 = {},
)
}
}
}
对于具体问题,您始终可以在 fillMaxHeight(...)
中包含宽度百分比。
话虽这么说,您可能想在这里做的是有一个主 Scafford
和您的内容,然后将您的导航栏添加为 bottomBar
属性。您可能想将 NavBar
组件更新为 BottomAppBar
,但它应该可以工作。
Scaffold(
topBar = { /* Top toolbar, if you want it. */ },
bottomBar = { /* Bottom Nav bar, which is what you want to add. */ },
) {
/* App content goes here */
}