android - 如何更改android中下划线的颜色

标签 android textview

我正在尝试更改 textView 中下划线的颜色,我看到了链接

How to get UnderlineSpan with another color in Android?

但是如果我尝试实现它,我不会变色

这是我的代码

String middleStringText = MyTextView.getText().toString();
Spannable spannable1 = new SpannableString(middleStringText);
CustomUnderLineSpan underLineSpan = new CustomUnderLineSpan(Color.YELLOW,2, 5);
spannable1.setSpan(underLineSpan, 0, 10, spannable1.SPAN_EXCLUSIVE_EXCLUSIVE);
MyTextView.setText(spannable1, TextView.BufferType.SPANNABLE);

有没有人尝试过类似的实现方式?

最佳答案

这不是正确的解决方案,但它对暂时的目的很有用,这是我从流中的堆栈中的某个链接获得的。

spannable1.setSpan(new ColoredUnderlineSpan(Color.YELLOW), middleStringText.indexOf(startText), middleStringText.indexOf(EndText) + value.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);


final class ColoredUnderlineSpan extends CharacterStyle
        implements UpdateAppearance {
    private final int mColor;

    public ColoredUnderlineSpan(final int color) {
        mColor = color;
    }

    @Override
    public void updateDrawState(final TextPaint tp) {
        try {
            final Method method = TextPaint.class.getMethod("setUnderlineText",
                    Integer.TYPE,
                    Float.TYPE);
            method.invoke(tp, mColor, 8.0f);
        } catch (final Exception e) {
            tp.setUnderlineText(true);
        }
    }
}

关于android - 如何更改android中下划线的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34614789/

相关文章:

安卓目录大小

java - 应用程序 WebViewer(进程 com.example.WebViewer)已意外停止。请再试一次

java - TextView 不显示字符串变量

android - 添加以空格分隔的 TextView

java - Android 中的智能卡验证 pin apdu 命令问题

java - 安卓Java : Using setOnClickListener in for loop

android - 如何在每一行中有多个 TextView 和 EditText

android - 防止应用程序中的字体大小反射

android - TextView实体阴影

java - 按下按钮后显示用户输入