一、TextView 設(shè)置刪除線有兩種方式:
(推薦)方式一:
通過按位或運(yùn)算符|,將 TextView 原本的 Flags 屬性和刪除線一塊設(shè)置。setPaintFlags內(nèi)會對 TextView 進(jìn)行重繪。
tv.setPaintFlags(tv.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
方式二:
獲取畫筆后設(shè)置屬性,重繪 TextView 。此方式有個問題,會把 TextView 原本的 Flags 屬性替代,例如抗鋸齒等。仔細(xì)查看,你會發(fā)現(xiàn)通過這種方式,文字有了鋸齒。
tv.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);tv.invalidate();
二、TextView 取消刪除線有兩種方式:
(推薦)方式一:
先對 Paint.STRIKE_THRU_TEXT_FLAG 屬性取反,再用按位與運(yùn)算符&,除去了刪除線屬性并保留了 TextView 原本的 Flags 屬性。setPaintFlags內(nèi)會對 TextView 進(jìn)行重繪。
tv.setPaintFlags(tv.getPaintFlags() & (~Paint.STRIKE_THRU_TEXT_FLAG));
方式二:
獲取畫筆后,清空 Flags 屬性,再重繪 TextView 。此方式有個問題,會把 TextView 原本的所有 Flags 屬性清空,例如抗鋸齒等。仔細(xì)查看,你會發(fā)現(xiàn)通過這種方式,文字有了鋸齒;
tv.getPaint().setFlags(0);tv.invalidate();
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選