gpt4 book ai didi

android - 使用 spannable 仅突出显示已添加文本的一部分

转载 作者:行者123 更新时间:2023-11-30 02:11:31 25 4
gpt4 key购买 nike

我添加这样的文本:

tv.setText("This is text created with StringBuilder");

然后我跟踪用户长按了哪个词,并想在短时间内突出显示该词:

tv.setOnLongClickListener(new OnLongClickListener() {

@Override
public boolean onLongClick(View v) {
int offset = tv.getOffsetForPosition(coordinates.get(0), coordinates.get(1));
int[] offsets = getWordOffsets(text.toString(), offset);
int startOffset = offsets[0];
int endOffset = offsets[1];

// here I want to highlight the word starting from startOffset to endOffset

我读过我应该使用 SpannableString,但是大多数示例表明我应该使用整个文本创建新的 SpannableString,然后我可以为部分添加样式它的。有什么方法可以使 TextView 中的部分文本可跨越吗?还是我应该从 TextView 内容创建新的 SpannableString 字符串并在每次触发长按事件时设置跨度?

最佳答案

你可以使用一些倒数计时器

 //___ HIGHLIGHT HERE ______
new CountDownTimer(500,500){

@Override
public void onTick(long millisUntilFinished) {

}

@Override
public void onFinish() {
//___ UN HIGHLIGHT HERE ______

}
}.start();

对于亮点你可以使用类似的东西

textView.setText(Html.fromHtml("<font color='#FF0000'>text</font>"));

关于android - 使用 spannable 仅突出显示已添加文本的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30026195/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com