【问题标题】:how to set underline in a sentence by button sequence?如何按按钮顺序在句子中设置下划线?
【发布时间】:2020-09-09 04:11:07
【问题描述】:

我无法获得此方法,但是如何在 textview 中设置/修改带有下划线的句子中的字符串?我想要这样,当我单击按钮时,下划线将移动到下一个字符串并再次单击下划线将再次移动。 我真的不知道什么类型的代码或什么样的方法用于这样的或什么要求这样做。

example 1: _the_ red fox jumps over the lazy dog.

如果按钮被点击,那么下划线应该在“the”中。

example 2: the _red_ fox jumps over the lazy dog.

如果再次单击该按钮,则下划线应为“红色”。

等等。

我是这种方法的新手,我无法搜索这种代码。请帮我提供这种代码谢谢。

更新:

我怎样才能像这样设置下划线代码:

The _***_ *** ***** **** *** **** ***.

当我再次点击按钮时,下方的按钮再次像这样移动:

The *** _***_ ***** **** *** **** ***.

【问题讨论】:

    标签: android textview underline android-spannable


    【解决方案1】:

    你应该使用UnderlineSpan试试这个

        public CharSequence formatText(String base, String highlight) {
            int start = base.indexOf(highlight);
            if (start >= 0) {
                SpannableString span = new SpannableString(base);
                span.setSpan(new UnderlineSpan(), start, start + highlight.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
                return span;
            }
            return base;
        }
    

    当你点击时,你应该传递你想要的基本字符串和突出显示字符串

    textView.setText(formatText("the red fox jumps over the lazy dog.", "the"));
    

    【讨论】:

    • 在按钮序列中可以吗?就像我上面的示例一样?我喜欢通过编程而不是手动放置应该显示的内容来尝试这个。
    • 你应该实现内部点击,它应该用新的高亮值调用,我的意思是你想要的下一个词
    • 我对代码有一个小问题如果我的句子是这样的问题是什么:*** *** ***** **** *** *** .顺便说一句,您给出的代码非常适合一句话谢谢。这样有什么帮助吗?
    猜你喜欢
    • 1970-01-01
    • 2014-05-21
    • 1970-01-01
    • 2015-04-22
    • 2012-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多