Viv*_*odi 9 android kotlin android-jetpack android-jetpack-compose
我希望我的按钮位于屏幕底部,使用Column. 当我尝试使用较小的设备时,我的内容不可滚动。所以我在堆栈溢出中搜索并找到了这个答案。当我添加时
.verticalScroll(rememberScrollState())
Run Code Online (Sandbox Code Playgroud)
在我的修改器中,它打破了间隔重量的东西并将我的按钮放在顶部。
输入
@可组合
fun Input() {
Column(
modifier = Modifier
.fillMaxSize()
.verticalScroll(rememberScrollState())
.padding(10.dp)
) {
Item()
}
}
Run Code Online (Sandbox Code Playgroud)
物品
@Composable
fun Item {
Image()
Text() // more item here
Pressure()
}
Run Code Online (Sandbox Code Playgroud)
压力
@Composable
fun Pressure() {
var value by rememberSaveable(stateSaver = TextFieldValue.Saver) {
mutableStateOf(TextFieldValue())
}
Column {
Text(value)
Image()
// more item here
Spacer(modifier = Modifier.weight(1f))
OnSubmit(value)
}
}
Run Code Online (Sandbox Code Playgroud)
实际产量
预期输出
我希望我的按钮在较小的设备中位于底部并垂直滚动。
更新
@SemicolonSpace 之后,我尝试了代码,但我的按钮位于屏幕后面
fun Input() {
Column(
modifier = Modifier.fillMaxHeight(),
verticalArrangement = Arrangement.SpaceBetween
){
Column(
modifier = Modifier
.verticalScroll(rememberScrollState())
.padding(10.dp)
) {
Item()
}
// behind from screen
OnSubmit()
}
}
Run Code Online (Sandbox Code Playgroud)
你可以看到我的按钮在屏幕后面,我无法滚动
我不知道你具体是在哪里遇到这个问题。我制作了一个与图像中结构相似的样本,如果我没有遗漏任何东西,它看起来效果很好。
@Composable
private fun MyComposable() {
Column(
modifier = Modifier
.fillMaxSize()
.verticalScroll(rememberScrollState())
.padding(10.dp)
) {
var text by remember { mutableStateOf("") }
Row(
modifier = Modifier.fillMaxSize(),
horizontalArrangement = Arrangement.SpaceEvenly,
verticalAlignment = Alignment.CenterVertically
) {
Text("Left")
TextField(value = text, onValueChange = { text = it })
Text("Right")
}
Spacer(modifier=Modifier.height(20.dp))
Row(
modifier = Modifier.fillMaxSize(),
horizontalArrangement = Arrangement.SpaceEvenly,
verticalAlignment = Alignment.CenterVertically
) {
Text("Left")
TextField(value = text, onValueChange = { text = it })
Text("Right")
}
Spacer(modifier=Modifier.height(20.dp))
Row(
modifier = Modifier.fillMaxSize(),
horizontalArrangement = Arrangement.SpaceEvenly,
verticalAlignment = Alignment.CenterVertically
) {
Text("Left")
TextField(value = text, onValueChange = { text = it })
Text("Right")
}
Spacer(modifier=Modifier.height(20.dp))
Row(
modifier = Modifier.fillMaxSize(),
horizontalArrangement = Arrangement.SpaceEvenly,
verticalAlignment = Alignment.CenterVertically
) {
Text("Left")
TextField(value = text, onValueChange = { text = it })
Text("Right")
}
Spacer(modifier=Modifier.height(20.dp))
Row(
modifier = Modifier.fillMaxSize(),
horizontalArrangement = Arrangement.SpaceEvenly,
verticalAlignment = Alignment.CenterVertically
) {
Text("Left")
TextField(value = text, onValueChange = { text = it })
Text("Right")
}
Spacer(modifier = Modifier.weight(1f))
Button(modifier = Modifier
.padding(10.dp)
.fillMaxWidth(),
colors = ButtonDefaults.buttonColors(
backgroundColor = Color(0xff4DD0E1),
contentColor = Color.White
)
, onClick = { /*TODO*/ }) {
Text("Submit", modifier = Modifier.padding(vertical = 20.dp))
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3959 次 |
| 最近记录: |