我正在尝试熟悉最新的 Jetpack-Compose,但我发现 BasicTextField 的 Material3 版本不匹配......几乎任何地方的任何示例。我很想知道它是如何改变的。它甚至看起来与 BasicTextField2 的简短外观不匹配。
具体来说,当我要求 AndroidStudio 显示所有参数时,我得到以下信息:
BasicTextField(
state = TODO(),
modifier = TODO(),
enabled = TODO(),
readOnly = TODO(),
inputTransformation = TODO(),
textStyle = TODO(),
keyboardOptions = TODO(),
onKeyboardAction = TODO(),
lineLimits = TODO(),
onTextLayout = TODO(),
interactionSource = TODO(),
cursorBrush = TODO(),
outputTransformation = TODO(),
decorator = TODO(),
scrollState = TODO()
)
注意不再有“值”参数(它嵌入在“状态”中)。 “onValueChanged”也移动了,所以现在我只想看看这个东西里面有什么以及它是如何工作的。 我对此的无礼表示歉意,但我找不到 BasicTextField 的这个特定迭代的文档。
我在哪里可以找到有关“无价值”BasicTextField 的文档,如果我决定不喜欢它,我需要将compileSdk降级到多远才能恢复旧版本?
我发现 BasicTextField 的 Material3 版本
BasicTextField()
不是 Compose Material3 的一部分。所有以 Basic
开头的标准可组合项都是 Compose Foundation 的一部分,专为创建自己的设计系统的开发人员而设计。 Compose Material3有TextField()
,将Material Design 3设计系统应用到文本录入。
在哪里可以找到有关“无值”BasicTextField 的文档
可以在整个 Android 开发者文档中找到。
我需要将compileSdk降级到多远才能恢复旧版本?
compileSdk
与此无关。 Compose 是一系列库;它没有作为 compileSdk
连接到的框架的一部分发布。
注意如何不再有“值”参数(它嵌入在“状态”中)
BsaicTextField()
的重载,将 value
作为 String
。还有 这个重载将 value
作为 TextFieldValue
。