gpt4 book ai didi

android - 如何在 Android 的 TextView 中的文本下方添加红色波浪线

转载 作者:太空宇宙 更新时间:2023-11-03 12:06:59 26 4
gpt4 key购买 nike

我正在尝试在文本错误下方添加红色波浪线,例如:

enter image description here

不幸的是,我找不到合适的 *Span 类来包装错误文本。

我应该如何在 Android 中实现这样的功能?

最佳答案

这是一个不涉及资源的解决方案:

public class WavyUnderlineSpan implements LineBackgroundSpan {

private int color;
private int lineWidth;
private int waveSize;

public WavyUnderlineSpan() {
this(Color.RED, 1, 3);
}

public WavyUnderlineSpan(int color, int lineWidth, int waveSize) {
this.color = color;
this.lineWidth = lineWidth;
this.waveSize = waveSize;
}

@Override
public void drawBackground(Canvas canvas, Paint paint, int left, int right, int top, int baseline, int bottom,
CharSequence text, int start, int end, int lnum) {
Paint p = new Paint(paint);
p.setColor(color);
p.setStrokeWidth(lineWidth);

int width = (int) paint.measureText(text, start, end);
int doubleWaveSize = waveSize * 2;
for (int i = left; i < left + width; i += doubleWaveSize) {
canvas.drawLine(i, bottom, i + waveSize, bottom - waveSize, p);
canvas.drawLine(i + waveSize, bottom - waveSize, i + doubleWaveSize, bottom, p);
}
}

关于android - 如何在 Android 的 TextView 中的文本下方添加红色波浪线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27267254/

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