android字符串加删除线,android TextView 设置和取消删除线的两种方法

本文详细介绍了在Android中为TextView设置和移除删除线的两种方法。使用按位运算符可以方便地添加或移除删除线,但需要注意它们对原有Flags属性的影响,可能导致抗锯齿等效果丢失。通过setPaintFlags()方法和直接操作Paint对象的方式分别进行了演示,并指出了各自的优缺点。
摘要由CSDN通过智能技术生成

一、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();

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持找一找教程网。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值