我通过尝试一些小部件(如Image和EditText)来探索Jetpack撰写。
对于文本输入,它有EditableText
。我已经尝试了下面的代码,但它没有显示任何在用户界面
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
loadUi()
}
}
@Composable
fun loadUi() {
CraneWrapper {
MaterialTheme {
val state = +state { EditorState("") }
EditableText(
value = state.value,
onValueChange = { state.value = it },
editorStyle = EditorStyle(
textStyle = TextStyle(
fontSize = (50f)
)
)
)
}
}
}
}
我错过了什么?任何帮助将不胜感激!
6条答案
按热度按时间j7dteeu81#
正如Gabriele Mariotti的回答所述,这是正确的方法:
但是,如果您遇到以下错误:
类型“TypeVariable(T)”没有方法“getValue(MainActivity,KProperty〈*〉)”,因此不能用作委托
简单地将这两个导入添加到您的文件中,您就可以了:
8ulbf1ek2#
您可以使用
TextField
。类似于:
其他详细信息:
https://developer.android.com/jetpack/compose/text#enter-modify-text
wz3gfoph3#
抱歉,回答晚了。API做了一点改动,所以你的代码现在应该是这样的:
你也可以错过小部件,因为它没有默认的背景,几乎是不可见的默认情况下,如果你有空字符串
eiee3dmh4#
watbbzwu5#
下面是一些可组合的文本字段。请选择您要找的内容:
阅读更多:
撰写文本〉〉https://developer.android.com/jetpack/compose/text
视频〉〉https://www.youtube.com/watch?v=_qls2CEAbxI&ab_channel=AndroidDevelopers
**输出:**x1c 0d1x
祝您愉快!!
zpqajqem6#
试试这个。