android - 词典应用程序如何提供点击每个单词的功能?

标签 android android-jetpack-compose

美好的一天团队,

我想知道用户如何单击词典应用程序中的每个单词并跳转到另一个提到该单词含义的屏幕。我想使用 Android Jetpack Compose (Kotlin) 来完成此操作。一种方法是为每个单词创建单独的文本框,但这对于较大的句子来说是不明智的。一定有一些更简单的方法。

感谢您的支持。

最佳答案

一种方法是使用 ClickableText 来获取文本中触摸的字符的索引。然后你需要应用某种算法来检测单词。我会将范围 startIndex..endIndex 作为键,将单词作为映射的值,并检查触摸索引是否在这些范围中。可能有更好的选项可以从选定的索引中进行检测。这只是一个建议。

   // Clickable text returns position of text that is clicked in onClick callback
    ClickableText(
        modifier = modifier,
        text = annotatedString,
        onClick = {
          // Logic to find words from character indx
        }
    )

关于android - 词典应用程序如何提供点击每个单词的功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73917247/

相关文章:

android - 将 LocalBroadcastManager 与静态类一起使用

java - 在 HoughCircles(), OpenCV 给出的一系列点上使用 warpPerspective()

android - 使用默认标题 TextView 样式在 android 中自定义标题文本

android - 我可以在 @Composable 之外使用 Jetpack 撰写图标吗?

android - Unresolved reference : vectorResource and imageResources in Jetpact Compose 1. 0.0-beta07

android - Gradle 构建失败说 : Could not find org. jetbrains.kotlinx :kotlinx-collections-immutable-jvm:0. 3.3

java - java中的定时器有多精确?

android - Android中如何模仿finishAffinity?

android - 撰写 UI 测试 - 如何断言文本颜色?

android - 如何在 Jetpack Compose 中围绕 Canvas 移动矩形?