我在我的應用程序中爲動態添加和刪除TextView的unerline。Android動態添加下劃線
首先,我使用AQuery在片段的onCreateView中添加下劃線: aQuery.id(R.id.tv_help_consult).getTextView().setPaintFlags(aq.id(R.id.tv_help_consult).getTextView().getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG)
;
但是當我刪除下劃線(並重新加入)有事情發生的字體,所以你可以看到像素:
我使用的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>
標籤,只是改變字符串資源烏爾斯河。
但我想firure什麼這裏happenning
編輯:萬一有人需要,
我的最終解決方案是基於Chintan巴瓦的答案。
我只是修改方法(當使用不同的TextViews)應獨立於字符串資源:
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));
}
而且我刪除了所有的油漆標誌。
一個簡單的解決方案將使用兩個字符串文本,一個與undeline和一個沒有它 –
是啊,我有在我的腦海這個解決方案,但什麼是錯的王氏這一個? – Androider