有没有办法在 Jetpack Compose 中生成可调整大小的 BasicTextField,以便在用户输入或删除字符时其宽度能够包裹文本大小?他们已经解决了 flutter 的类似问题,但我没有找到如何为 Compose 解决这个问题。 Flutter - 如何使 TextField 宽度适合其文本(“换行内容”)
var text: String by rememberSaveable { mutableStateOf("") }
BasicTextField(
value = text,
onValueChange = {
text = it
},
modifier = Modifier.wrapContentWidth()
)
Run Code Online (Sandbox Code Playgroud)
不幸的是,wrapContentWidth()在这里不起作用。
android textfield android-jetpack-compose android-jetpack-compose-text
我有一个包含 html 的字符串,如何在 Jetpack 撰写文本中显示它?
在 TextView 中,我会使用 Spanned 并执行以下操作:
TextView.setText(Html.fromHtml("<p>something", HtmlCompat.FROM_HTML_MODE_LEGACY)
Run Code Online (Sandbox Code Playgroud)
如何使用 Jetpack compose 中的文本执行此操作?
android android-jetpack-compose android-jetpack-compose-text
嗨,我需要删除我的 TextField 中的下划线,因为当 TextField 是圆形时它看起来很难看。我已经将 activeColor 设置为透明,但是光标不会显示(因为它是透明的)。如何删除下划线/activeColor 并保留光标?
这是我的循环文本字段代码:
@Composable
fun SearchBar(value: String) {
// we are creating a variable for
// getting a value of our text field.
val inputvalue = remember { mutableStateOf(TextFieldValue()) }
TextField(
// below line is used to get
// value of text field,
value = inputvalue.value,
// below line is used to get value in text field
// on value change in text field.
onValueChange = { inputvalue.value = it },
// below line …Run Code Online (Sandbox Code Playgroud) android android-textinputlayout android-jetpack-compose android-compose-textfield android-jetpack-compose-text
在 Android 版 Jetpack Compose 中,您可以执行以下操作:
val fontFamily = FontFamily(
Font(
resId = R.font.my_font_400_regular,
weight = FontWeight.W400,
style = FontStyle.Normal
),
Font(
resId = R.font.my_font_400_italic,
weight = FontWeight.W400,
style = FontStyle.Italic
)
)
Run Code Online (Sandbox Code Playgroud)
但对于桌面版,文件结构不同,我无法访问,R.font.my_font_400_regular因为“R”是 Android 资源功能。
我们知道, JetpackCompose 中的AnnotatedString提供了Android 的 SpannedString的一些 API 。
但我没有找到任何方法/解决方法将ImageSpan内联到文本(使用 AndroidView 除外)
android spannablestring spannable android-jetpack-compose android-jetpack-compose-text
我有这个代码
setContent {
val items = mutableListOf<Int>().apply {
(1..100).forEach { add(it) }
}
LazyColumn {
items(items) { item ->
TextField("$item", {})
}
}
}
Run Code Online (Sandbox Code Playgroud)
与android:windowSoftInputMode="adjustResize"我的AndroidManifest.xml.
如果我单击TextField列表顶部的 a,我可以正常输入文本。
如果我单击TextField屏幕底部附近的 ,键盘会立即出现,然后很快消失,并阻止我输入文本。
TextField当位于屏幕底部时如何输入文字?谢谢!
如何将超链接添加到 Text 组件文本的某些部分?
随着buildAnnotatedString我可以设置链接部分蓝色并带有下划线,如下面的图像,但我怎么也可以把这一节变成链接?
val annotatedLinkString = buildAnnotatedString {
val str = "Click this link to go to web site"
val startIndex = str.indexOf("link")
val endIndex = startIndex + 4
append(str)
addStyle(
style = SpanStyle(
color = Color(0xff64B5F6),
textDecoration = TextDecoration.Underline
), start = startIndex, end = endIndex
)
}
Text(
modifier = modifier
.padding(16.dp)
.fillMaxWidth(),
text = annotatedLinkString
)
Run Code Online (Sandbox Code Playgroud)
我也可以,Spanned但有什么方法可以使用它Text吗?
val str: Spanned = HtmlCompat.fromHtml(
"<a href=\"http://www.github.com\">Github</a>", HtmlCompat.FROM_HTML_MODE_LEGACY
)
Run Code Online (Sandbox Code Playgroud) android android-jetpack-compose android-jetpack-compose-text
我想知道如何在 jetpack compose 中突出显示文本的特定部分。我试过Html.fromHtml()这样
Text(text = Html.fromHtml(" <font color='red'> Hello </font> World").toString())
Run Code Online (Sandbox Code Playgroud)
但这没有用。有什么办法可以在撰写中做到这一点吗?
android android-jetpack android-jetpack-compose android-jetpack-compose-text
目前,我正在将我的一个应用程序迁移到 Material Design 3,该应用程序完全使用 Jetpack Compose 用 Kotlin 编写。
在使用 Material Design 2 时,我可以使用下面的代码更改文本的重点。
CompositionLocalProvider(LocalContentAlpha provides ContentAlpha.medium) {
Text(
text = "Hello, world",
style = MaterialTheme.typography.h6,
fontWeight = FontWeight.SemiBold,
)
}
Run Code Online (Sandbox Code Playgroud)
但是,相同的代码不适用于 Material Design 3,并且文本具有默认强调。另外,我在Material Design 3中找不到相关功能。我想知道是否有任何官方方法可以达到相同的效果。
android android-jetpack-compose android-jetpack-compose-text material-you material-design-3
我需要在 jetpack compose 中使用一个与如下掩码配合使用的文本字段:NNNNN-NNN其中 N 是从 0 到 9 的整数。我需要我的可组合函数在以下位置包含此掩码OutlinedTextField:
@Composable
private fun EditTextField(
labelText: String,
value: String,
keyboardType: KeyboardType = KeyboardType.Text,
onValueChanged: (String) -> Unit
) {
OutlinedTextField(
modifier = Modifier.padding(top = 8.dp),
label = { Text(text = labelText) },
keyboardOptions = KeyboardOptions(keyboardType = keyboardType),
value = value,
onValueChange = onValueChanged
)
}
Run Code Online (Sandbox Code Playgroud) android android-jetpack-compose android-compose-textfield android-jetpack-compose-text
android-jetpack-compose-text ×10
android ×8
kotlin ×1
material-you ×1
spannable ×1
textfield ×1