android TextView 设置和取消删除线
程序员文章站
2023-12-23 12:46:46
...
一、TextView 设置删除线有两种方式:
(推荐)方式一:
通过按位或运算符|
,将 TextView 原本的 Flags 属性和删除线一块设置。setPaintFlags
内会对 TextView 进行重绘。
tv.setPaintFlags(tv.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
方式二:
获取画笔后设置属性,重绘 TextView 。此方式有个问题,会把 TextView 原本的 Flags 属性替代,例如抗锯齿等。仔细查看,你会发现通过这种方式,文字有了锯齿。
tv.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);
tv.invalidate();
二、TextView 取消删除线有两种方式:
(推荐)方式一:
先对 Paint.STRIKE_THRU_TEXT_FLAG
属性取反,再用按位与运算符&
,除去了删除线属性并保留了 TextView 原本的 Flags 属性。setPaintFlags
内会对 TextView 进行重绘。
tv.setPaintFlags(tv.getPaintFlags() & (~Paint.STRIKE_THRU_TEXT_FLAG));
方式二:
获取画笔后,清空 Flags 属性,再重绘 TextView 。此方式有个问题,会把 TextView 原本的所有 Flags 属性清空,例如抗锯齿等。仔细查看,你会发现通过这种方式,文字有了锯齿;
tv.getPaint().setFlags(0);
tv.invalidate();
推荐阅读
-
android TextView 设置和取消删除线
-
Android为TextView添加字体库和设置描边的方法
-
Android为TextView添加字体库和设置描边的方法
-
Android TextView渐变颜色和方向及动画效果的设置详解
-
Android在TextView中设置局部文字的样式(HTML和SpannableString两种方式)
-
Android TextView加下划线、删除线
-
Android TextView渐变颜色和方向及动画效果的设置详解
-
Android的TextView中文字添加删除线,下划线
-
Android在TextView中设置局部文字的样式(HTML和SpannableString两种方式)
-
android设置TextView控件的背景透明度和字体透明度