gpt4 book ai didi

Android动态添加下划线

转载 作者:行者123 更新时间:2023-11-29 17:25:16 25 4
gpt4 key购买 nike

我想在我的应用程序中为 TextView 动态添加和删除下划线。

首先,我使用 AQuery 在 fragment 的 onCreateView 中添加下划线: aQuery.id(R.id.tv_help_consult).getTextView().setPaintFlags(aq.id(R.id.tv_help_consult).getTextView().getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG) ;

看起来还不错。
enter image description here

但是当我删除下划线(并再次添加)时,字体发生了一些变化,因此您可以看到像素:

enter image description here

我在 clickListenner 中使用这些方法来更改下划线:

private void headingFontHighlightOn(TextView heading) {
// removing underline
heading.setPaintFlags(0);
// changing color
heading.setTextColor(ContextCompat.getColor(getActivity(), R.color.orange));
}


private void headingFontHighlightOff(TextView heading) {
// making underline
heading.setPaintFlags(heading.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
// changing color
heading.setTextColor(ContextCompat.getColor(getActivity(), R.color.black));
}

当然,我可以使用带有 <u> 的替代字符串资源标签,只需更改字符串资源。
但我想弄清楚这里发生了什么

编辑:如果有人需要,
我的最终解决方案基于 Chintan Bawa 的回答。
我只是将方法修改为独立于 String 资源(同时在不同的 TextView 上使用):

private void headingFontHighlightOn(TextView heading) {
// removing underline
heading.setText(heading.getText().toString());
// changing color
heading.setTextColor(ContextCompat.getColor(getActivity(), R.color.orange));
}

private void headingFontHighlightOff(TextView heading) {
// making underline
String underlinedText = "<u>" + heading.getText() + "</u>";
heading.setText(Html.fromHtml(underlinedText));

// changing color
heading.setTextColor(ContextCompat.getColor(getActivity(), R.color.black));
}

我还删除了所有油漆标志。

最佳答案

您可以使用它在 TextView 中为文本添加下划线

heading.setText(Html.fromHtml("<u>Legal assistance</u>"));

并从 TextView

中的文本中删除 下划线
heading.setText("Legal assistance"));

关于Android动态添加下划线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34921283/

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