自定义ClickSpan
public abstract class ClickableLinkSpan extends ClickableSpan{ private int selectedColor; public int linkColor; private boolean colored; private boolean underlined; /** * * @param selectedColor 选中时的背景色 * @param linkColor 文字颜色 * @param underlined 是否显示下划线 */ public ClickableLinkSpan(int selectedColor, int linkColor, boolean underlined) { this(selectedColor, linkColor, true, underlined); } ClickableLinkSpan(int selectedColor, int linkColor, boolean colored,boolean underlined) { this.selectedColor = selectedColor; this.linkColor = linkColor; this.colored = colored; this.underlined = underlined; } @Override public void updateDrawState(TextPaint ds) { if (colored) { ds.setColor(linkColor); }else { ds.setColor(ds.linkColor); } //设置无背景色 ds.bgColor = Color.TRANSPARENT; // 设置是否显示下划线 ds.setUnderlineText(underlined); } }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步