在 Jetpack Compose 中构建一个简单的键盘相当简单明了。
编辑:工作示例:https ://github.com/THEAccess/compose-keyboard-ime
我用这个构建了一个非常简单的 KeyRow:
密钥.kt
@Composable
fun Key(modifier: Modifier = Modifier, label: String, onClick: () -> Unit) {
val shape = RoundedCornerShape(4.dp)
//TODO: make clickable outside but don't show ripple
Box(modifier = modifier
.padding(2.dp)
.clip(shape)
.clickable(onClick = onClick)
.background(Color.White)
.padding(vertical = 12.dp, horizontal = 4.dp), contentAlignment = Alignment.Center) {
Text(text = label, fontSize = 20.sp)
}
}
Run Code Online (Sandbox Code Playgroud)
关键行.kt
@Composable
fun KeyRow(keys: List<String>) {
Row(modifier = Modifier.fillMaxWidth().background(color = grey200)) {
keys.forEach {
Key(modifier = Modifier.weight(1f), label …Run Code Online (Sandbox Code Playgroud)