一田炭、TextView 設(shè)置刪除線有兩種方式:
(推薦)方式一:
通過(guò)按位或運(yùn)算符|
鸭叙,將 TextView 原本的 Flags 屬性和刪除線一塊設(shè)置韧骗。setPaintFlags
內(nèi)會(huì)對(duì) TextView 進(jìn)行重繪驼侠。
tv.setPaintFlags(tv.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
方式二:
獲取畫(huà)筆后設(shè)置屬性,重繪 TextView 殖卑。此方式有個(gè)問(wèn)題站削,會(huì)把 TextView 原本的 Flags 屬性替代,例如抗鋸齒等孵稽。仔細(xì)查看许起,你會(huì)發(fā)現(xiàn)通過(guò)這種方式,文字有了鋸齒肛冶。
tv.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);
tv.invalidate();
二街氢、TextView 取消刪除線有兩種方式:
(推薦)方式一:
先對(duì) Paint.STRIKE_THRU_TEXT_FLAG
屬性取反扯键,再用按位與運(yùn)算符&
睦袖,除去了刪除線屬性并保留了 TextView 原本的 Flags 屬性。setPaintFlags
內(nèi)會(huì)對(duì) TextView 進(jìn)行重繪荣刑。
tv.setPaintFlags(tv.getPaintFlags() & (~Paint.STRIKE_THRU_TEXT_FLAG));
方式二:
獲取畫(huà)筆后馅笙,清空 Flags 屬性,再重繪 TextView 厉亏。此方式有個(gè)問(wèn)題董习,會(huì)把 TextView 原本的所有 Flags 屬性清空,例如抗鋸齒等爱只。仔細(xì)查看皿淋,你會(huì)發(fā)現(xiàn)通過(guò)這種方式,文字有了鋸齒;
tv.getPaint().setFlags(0);
tv.invalidate();