android TextView 設(shè)置和取消刪除線的兩種方法
一、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í)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android 源碼淺析RecyclerView ItemAnimator
這篇文章主要為大家介紹了Android 源碼淺析RecyclerView ItemAnimator,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12Android實(shí)現(xiàn)多個連續(xù)帶數(shù)字圓圈效果
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)多個連續(xù)帶數(shù)字圓圈效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07基于Android實(shí)現(xiàn)可滾動的環(huán)形菜單效果
這篇文章主要為大家詳細(xì)介紹了Android如何使用kotlin實(shí)現(xiàn)可滾動的環(huán)形菜單,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03Android適配安卓6.0藍(lán)牙通訊實(shí)現(xiàn)過程
這篇文章主要為大家詳細(xì)介紹了Android適配安卓6.0藍(lán)牙通訊實(shí)現(xiàn)過程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-09-09Android視頻播放器屏幕左側(cè)邊隨手指上下滑動亮度調(diào)節(jié)功能的原理實(shí)現(xiàn)
這篇文章主要介紹了Android視頻播放器屏幕左側(cè)邊隨手指上下滑動亮度調(diào)節(jié)功能的原理實(shí)現(xiàn),非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-02-02Android AIDL實(shí)現(xiàn)進(jìn)程間通信探索
這篇文章主要為大家詳細(xì)介紹了Android AIDL實(shí)現(xiàn)進(jìn)程間通信的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-09-09解析在Android中為TextView增加自定義HTML標(biāo)簽的實(shí)現(xiàn)方法
本篇文章是對在Android中為TextView增加自定義HTML標(biāo)簽的方法進(jìn)行了詳細(xì)的分析介紹。需要的朋友參考下2013-05-05Android編程實(shí)現(xiàn)橫豎屏切換時不銷毀當(dāng)前activity和鎖定屏幕的方法
這篇文章主要介紹了Android編程實(shí)現(xiàn)橫豎屏切換時不銷毀當(dāng)前activity和鎖定屏幕的方法,涉及Android屬性設(shè)置及activity操作的相關(guān)技巧,需要的朋友可以參考下2015-11-11