Hardware -Tastaturfokus landet nie auf annotierter String -Hyperlink in Jetpack ComposeAndroid

Forum für diejenigen, die für Android programmieren
Anonymous
 Hardware -Tastaturfokus landet nie auf annotierter String -Hyperlink in Jetpack Compose

Post by Anonymous »

Ich habe eine kommentierte Zeichenfolge in Jetpack komponierbar erstellt und sie einer komponierbaren Textansicht zugewiesen. Es hat mehrere Hyperlinks.
Der Code ist wie unten: < /p>
@Composable
fun HyperlinkText(
fullText: String,
linkTexts: List,
linkUris: List,
linkTextColor: Color,
textColor: Color
) {
val annotatedString = buildAnnotatedString {
append(fullText)
linkTexts.map {
val startIndex = fullText.indexOf(it)
if (startIndex != -1) {
val endIndex = startIndex + it.length
if (endIndex > fullText.length) return@map
addStyle(
SpanStyle(
color = linkTextColor
),
startIndex,
endIndex
)
val indexOfLinkText = linkTexts.indexOf(it)
if (indexOfLinkText != -1) {
addStringAnnotation(
tag = ANNOTATION_URL,
annotation = linkUris[indexOfLinkText],
start = startIndex,
end = endIndex
)
}
}
}
}

val uriHandler = LocalUriHandler.current
var layoutResult by remember { mutableStateOf(null) }
Text(
text = annotatedString,
style = run { deviceTypography?.resolveStyle() ?: typography.resolveStyle() }.copy(
color = textColor
),
modifier = Modifier
.pointerInput(Unit) {
detectTapGestures { offset ->
layoutResult?.let { textLayoutResult ->
val position = textLayoutResult.getOffsetForPosition(offset)
annotatedString.getStringAnnotations(
tag = ANNOTATION_URL,
start = position,
end = position
).firstOrNull()?.let { stringAnnotation ->
uriHandler.openUri(stringAnnotation.item)
}
}
}
}
.focusable(),
onTextLayout = { layoutResult = it }

)
}
< /code>
Wenn der Fokus mit Hardware -Tastatur mithilfe der Hardware -Tastatur navigiert, wird der Fokus nie auf dem Hyperlink der kommentierten Zeichenfolge beteiligt. Ich verwende Jetpack komponieren 1.7.0. Ich habe versucht, Mix and Match von Fokussen und Fokusproperties im Modifikator zu erreichen, aber nichts funktioniert. Was könnte das Problem sein?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post