问题标签 [spannable]

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 投票
4 回答
11025 浏览

android - 使用 Spannable 和 LinkMovementMethod 选择 TextView

到目前为止,我所做的是具有普通文本和可点击跨度的文本视图的列表视图: 物品原封不动

单击我打开 URL 的跨度,单击 textView 周围的项目 View 会导致 listViewOnItemClickListener导航到项目详细信息,这很好: 在 textView 之外触摸的项目

现在的问题是:

项目 textView 正常触摸的文本 项目 textView 跨度已触及 触摸 textView 会使普通文本有点突出显示(与完全选择项目时的颜色相同), textView 的OnTouchListener触摸事件会触发但不会触发OnFocusChangeListener事件,并且项目的 View 不会获得选择样式。尝试了FOCUS_BLOCK_DESCENDANTSlistView、item View 的所有变体,focusable启用或禁用了 textView,结果相同。

幸运的是,textViewOnClickListener事件以这种方式触发,但这太难看了:文本是不可见的,而触摸没有释放,因为选定的文本颜色与项目颜色相同,没有其他迹象表明用户将转到项目详细信息其他比那个丑陋的文字消失。

我怀疑发生这种情况是因为 textView 的内容是Spannable,并且不是 CliclableSpan-s 的部分以这种奇怪的方式表现。

一旦触摸普通文本,我有机会选择该项目吗?


listView 项目布局:

使用文本视图 setClickable(false) 我可以禁用这种奇怪的选择样式,在触摸文本视图区域时不会发生任何事情,虽然不好但可能对解决方案有用。

还尝试为每个项目添加不可聚焦和不可点击的按钮,当它被触摸时,整个项目被选中,当触摸被释放时,项目的点击事件被传递,这正是我对带有 Spannable 内容的 textView 所期望的。

0 投票
2 回答
1017 浏览

android - 可跨文本可定制吗?安卓


结果

但如果我把这个:

它有效,因为从 0 到 4 的文本是彩色的!

结果

所以,我的问题是:

如何更改链接的颜色(蓝色和带下划线的颜色)?

谢谢

0 投票
1 回答
297 浏览

android - Spanned Textview HTML 格式仅适用于循环中的最后一个?

我需要能够遍历我的所有元素并将其设置为 Textview。但是,我还需要将我的数字格式化为下标。我尝试使用循环这样做,但只有最后一个数字的格式正确。

例如,如果我输入 Fe2Zn7Ag4,则只有“4”将在下标中,其余的将正常。这是我的代码:

此外,任何下标的东西都会被切成两半。当我运行程序时,只会出现下标数字的上半部分。

知道如何解决这两个问题吗?

0 投票
1 回答
587 浏览

android - 如何将所选文本转换为超链接?

我想将所选文本从编辑文本转换为超链接。基本上我知道如何在超链接中转换文本,但不能在编辑文本中进行。

我试过Linkify,但没有用。

任何帮助,将不胜感激..

0 投票
2 回答
4054 浏览

android - 在android的edittext中使用spannable

我把这段代码放在了答案Displaying emoticons in Android for show emoticons in Edittext 中,但是当我输入大量文本时出现问题,它变得越来越慢,几乎无法输入。这是代码:我怎样才能让它更快?

0 投票
1 回答
762 浏览

android - 有没有办法在 Android 上制作自定义 Spanables?

在我的 Android 应用程序中,我有带有链接的文本视图。他们每个人都在切换一个特定的事件(打开浏览器,开始另一个活动,等等......)。为了解决这个问题,我没有找到比这样做更好的解决方案:

然后,在显示 textview 时,我使用 SpannableStringBuilder 将每个链接转换为自定义的 spannable。

我知道这很hacky。这就是为什么我想知道是否还有其他更好的方法?

我有两个想法:

  • 是否可以使用自己的编组系统实现自定义跨度?例如自定义可跨匹配标签,如:

    <div class="foo"></div>

然后我会自动检测到FooClickableSpannable扩展ClickableSpanfromHtml()

  • 我可以使用自定义 url 方案来打开我的活动,但如果有其他选择,我不确定如何强制它不显示应用程序选择器。
0 投票
2 回答
1951 浏览

android - android中textview的一部分是可点击的

我必须在 textview 中显示一些文本。我只希望文本的一部分是可点击的,而文本的其余部分是正常的。

这是我的代码:

0 投票
2 回答
5836 浏览

android - 文本与 EditText 中的 ImageSpan 混淆

我正在构建一个简单的聊天应用程序,用户可以在其中发送文本和表情符号。我可以将文本和表情符号发送到另一部手机。我的问题是:

1.当我输入一些东西并添加一个表情时:

在此处输入图像描述

然后我不能在图像之前和之后输入任何文本。我可以写在“o”字母之前。系统“看到”了我输入的内容,因此即使我在笑脸后输入“Honey”,我也看不到它,但 EditText 会注册它并发送消息:

在此处输入图像描述

2.当我只在Edittext中添加一个表情然后我删除它时,我无法输入任何内容,因为删除的表情出现了。它只出现一次,所以无论我输入多少个字符,EditText 看起来就像我删除表情符号之前一样,但是文本是在没有表情符号的情况下发送的,就像在所有三种情况下一样。

3.当我在 EditText 中输入“something”然后在“some”之后插入一个表情符号:

在此处输入图像描述

然后我把光标放在表情符号后面并删除它,剩下的就是:

在此处输入图像描述

但是当我按下发送按钮时会发送正确的消息:

在此处输入图像描述

这就是表情的按钮侦听器内部的内容(当我单击表情将其添加到 EditText 时,此方法被激活)。

0 投票
3 回答
56760 浏览

java - 在 android 上可跨 textView

我在我的 Android 应用程序中设置 twitter 数据。我想使用 Spannable 将字体设置为粗体和斜体,但它不起作用,出现错误。我该怎么做?

0 投票
1 回答
2619 浏览

android - android中Spannable和String之间的区别

好奇地想知道Spannable在android中的目的是什么。char 数组还不够吗?