带下划线的 TextView 不是 anti-aliased

Underlined TextView is not anti-aliased

尝试为文本添加下划线时:

setPaintFlags(Paint.UNDERLINE_TEXT_FLAG);

TextView 变为非 anti-aliased。如果我启用 anti-aliasing:

getPaint().setAntiAlias(true)

然后变成anti-aliased.

anti-aliasing和Paint.UNDERLINE_TEXT_FLAG之间有什么联系吗?

抗锯齿和Paint.UNDERLINE_TEXT_FLAG没有关系。

但不同之处在于 setPaintFlags(Paint.UNDERLINE_TEXT_FLAG) 将删除默认的现有标志并将当前标志仅设置为 Paint.UNDERLINE_TEXT_FLAG。尝试以下代码以保留现有标志并添加新标志

yourTextView.setPaintFlags(yourTextView.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);