问题标签 [android-jetpack-compose-text]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
83 浏览

android - 如何使用 Jetpack Compose Text(如 Telegram 或 WhatsApp)将多个子字符串的粗体字符包裹在一个模式中

我的目标是创建一个粗体文本,当字符串中的某些单词或字符用特殊字符(例如 ++bold++)显示为粗体时,Jetpack ComposeText组件在特定字符串中可用的次数越多。

使用这个正则表达式和下面的代码片段

在此处输入图像描述

只有当一个确切的模式存在一次并且替换每个出现的字符也不正确时,我才能得到正确的结果。

  • 在第一个文本结果中是所希望的
  • 在第二个中,它应该只将粗体随机子字符串设为粗体
  • 在第三个中,它不应该有任何粗体子字符串并且没有替换
  • 在第四个中不应该有粗体子串和替换

我检查了这个正则表达式问题,但我无法提出正确的正则表达式来分组并将模式替换为

0 投票
1 回答
336 浏览

android - 设置文本的最大长度时撰写文本字段的奇怪行为

我正在尝试为 TextField 中的最大字符数设置一个限制。这是我尝试过的:

这是问题所在:

  • 当我超过限制时,整个文本突然被清除。
  • 这只发生一次,即当我重新输入并超出限制时它就停在那里(这是所需的行为)
  • 40 在这里似乎是一个神奇的数字,因为对于 maxLength = 39 或更低,一切正常。当我将限制设置为 40 或更高时,我看到了这种奇怪的行为。(这个幻数似乎并不取决于文本字段的宽度,因为我尝试了纵向和横向模式,结果是一样的)

如何摆脱这种行为?为 TextField 文本设置最大长度的正确方法是什么?

在此处输入图像描述

0 投票
1 回答
49 浏览

android - 如何在 Jetpack Compose 中将 TextField 的 inputType 设置为二进制(0 和 1)?

我正在尝试将 TextField 的输入类型设置为二进制,但没有 KeyboardOptions KeyboardType 作为二进制。

那么我怎样才能做到这一点呢?

0 投票
2 回答
299 浏览

android - 撰写 TextField 显示奇怪的行为

我正在尝试实现一个 TextField,它输入一个数量并在键入后立即对其进行格式化,并将其限制为 100,000。

我的视图模型:

logs并且text仅用于记录目的。发现很难共享 logcat 输出,因此以这种方式呈现)

结果:

在此处输入图像描述

  • 当我按 6 时,输入是预期的“12,3456”(忽略货币)
  • 我的getFormattedAmount()函数将最后六个删除为(123456 > 100000)。它输出“12,345”,这也是正确的。“12,345”是屏幕上显示的内容。
  • 但是当我按 7 时,我得到输入“12,34567”。那个6是哪里来的??它不在uiState.amount

(请忽略最后一个输出行。getFormattedAmount仅在数量超过限制时删除最后一个字符,并且它给出了错误的输出,因为它没有预料到该输入)

我觉得我在这里犯了一些非常愚蠢的错误,如果有人能帮助我找出答案,我将非常感激。

0 投票
1 回答
195 浏览

android - 工具属性 - Jetpack Compose 中的示例资源

在 View 世界中,我们可以使用@tools:sample/*资源来获取示例文本,例如full_namesfirst_namescitiesdates

Android Studio 布局编辑器使用这些注释,afaik,以便能够在编辑器上查看模拟数据。

在 Compose 世界中没有 xml,因此没有@tools:sample/*.

Android Studio 有什么方法可以在@Composable函数中继续使用这些示例测试吗?或者是否有任何其他内置的 Compose 解决方案?

0 投票
1 回答
463 浏览

android - 在列内使用lazyColum 在Jetpack Compose 中有错误

我有一个lazyColumn,我想在列中使用它,但出现以下错误并且应用程序崩溃:

lazyColumn 代码,我在这段代码中有一个列表:

以下可组合代码中使用的上述代码:

我该如何解决这个错误?

注意:我想要一个可滚动的屏幕,其中包含小型设备的列表

0 投票
1 回答
190 浏览

android - 在 TextField 之间切换时如何消除键盘闪烁?

我有一个 LazyColumn 由带有数字输入的文本字段组成。当我在文本字段之间切换时,有时会看到闪烁。它首先打开普通文本键盘,然后切换到数字键盘。这导致了非常糟糕的用户体验。

我的代码:

结果:

在此处输入图像描述


如何避免这种闪烁?
0 投票
3 回答
743 浏览

android - 在 Android Compose 中重构

我正在使用新的 compose 库在 android中实现概述的TextField。但奇怪的是,输入数据没有在文本字段中更新。

于是搜了一下,发现android compose中有一个叫Recomposition的话题。我没有完全明白。
但是,我确实找到了解决方案:

我还阅读了jetpack compose 中的 State概念。但我无法完全得到它。
有人可以用简单的话解释吗?

0 投票
1 回答
377 浏览

android - 如何在 Android Jetpack Compose 中更改 OutlineTextField 边框宽度?

我的代码:

我想增加边框宽度,以便focusedBorderColor支持颜色disabledBorderColor

0 投票
1 回答
35 浏览

android - 如何将填充从一个文本基线应用到另一个?

说下面的代码是正确的。如何应用从 SubtitleText 基线到 Title Text 基线的填充?

简而言之,如何在 Jetpack Compose 中实现这一点? 图片