android TextView 设置和取消删除线的两种方法
一、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删除线(代码简单)
在做商城的项目中,有这么个需求,就是一个产品下有两个价格,一个是市场价,一个是销售价,这时要把市场价添加个删除线: 刚开始遇到这个时,在网上找了半天的资料,看到最多的就是用SpannableString这个类中的方法,而且代码多,感觉有点繁琐,后来发现用Paint里的一些方法实现更好,只须一句代码 public class TestActivity extends Activity { private TextView tv; @Override public void onCreate(Bun
-
android TextView 设置和取消删除线的两种方法
一.TextView 设置删除线有两种方式: (推荐)方式一: 通过按位或运算符|,将 TextView 原本的 Flags 属性和删除线一块设置.setPaintFlags内会对 TextView 进行重绘. tv.setPaintFlags(tv.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG); 方式二: 获取画笔后设置属性,重绘 TextView .此方式有个问题,会把 TextView 原本的 Flags 属性替代,例如抗锯齿等.仔细查看,你
-
iOS利用UITableView设置全屏分隔线的3种方法总结
前言 本文主要给大家总结了iOS用UITableView设置全屏分隔线的3种方法,一般TableView设置全屏分隔线有下面三种方法: 1.自定义cell,手动添加分割线 隐藏自带的 tableView.separatorStyle = UITableViewCellSeparatorStyleNone; 可以通过addSubview的方式添加一条分割线:也可以自绘分割线. // 自绘分割线 - (void)drawRect:(CGRect)rect { CGContextRef context
-
基于Android在布局中动态添加view的两种方法(总结)
一.说明 添加视图文件的时候有两种方式:1.通过在xml文件定义layout:2.java代码编写 二.前言说明 1.构造xml文件 2.LayoutInflater 提到addview,首先要了解一下LayoutInflater类.这个类最主要的功能就是实现将xml表述的layout转化为View的功能.为了便于理解,我们可以将它与findViewById()作一比较,二者都是实例化某一对象,不同的是findViewById()是找xml布局文件下的具体widget控件实例化,而LayoutI
-
Android编程使用WebView实现文件下载功能的两种方法
本文实例讲述了Android编程使用WebView实现文件下载功能的两种方法.分享给大家供大家参考,具体如下: 在应用中,通常会使用到文件下载功能,一般我们都是写一个下载操作工具类,在异步任务中执行下载功能. 今天我们来看下如何使用WebView的文件下载功能! 方法1,自定义下载操作 1. 先来布局 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools=&qu
-
MySQL删除数据库的两种方法
本文为大家分享了两种MySQL删除数据库的方法,供大家参考,具体内容如下 第一种方法:使用 mysqladmin 删除数据库 使用普通用户登陆mysql服务器,你可能需要特定的权限来创建或者删除 MySQL 数据库. 所以我们这边使用root用户登录,root用户拥有最高权限,可以使用 mysql mysqladmin 命令来创建数据库. 在删除数据库过程中,务必要十分谨慎,因为在执行删除命令后,所有数据将会消失. 以下实例删除数据库TUTORIALS(该数据库在前一章节已创建): [root@
-
Android 调用系统相机拍摄获取照片的两种方法实现实例
Android 调用系统相机拍摄获取照片的两种方法实现实例 在我们Android开发中经常需要做这个一个功能,调用系统相机拍照,然后获取拍摄的照片.下面是我总结的两种方法获取拍摄之后的照片,一种是通过Bundle来获取压缩过的照片,一种是通过SD卡获取的原图. 下面是演示代码: 布局文件: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http:
-
Linux下完全删除用户的两种方法
Linux操作 实验环境:Centos7虚拟机 首先创建一个普通用户 gubeiqing . [root@localhost ~]# useradd gubeiqing [root@localhost ~]# passwd gubeiqing Changing password for user gubeiqing. New password: BAD PASSWORD: The password is a palindrome Retype new password: passwd: all
-
Android检测url地址是否可达的两种方法
方法一 try{ URL url = new URL(address); HttpURLConnection conn = (HttpURLConnection)url.openConnection(); conn.setUseCaches(false); conn.setInstanceFollowRedirects(true); conn.setConnectTimeout(waitMilliSecond); conn.setReadTimeout(waitMilliSecond); //H
-
Android中使用Gson解析JSON数据的两种方法
Json是一种类似于XML的通用数据交换格式,具有比XML更高的传输效率. 从结构上看,所有的数据(data)最终都可以分解成三种类型: 第一种类型是标量(scalar),也就是一个单独的字符串(string)或数字(numbers),比如"北京"这个单独的词. 第二种类型是序列(sequence),也就是若干个相关的数据按照一定顺序并列在一起,又叫做数组(array)或列表(List),比如"北京,上海". 第三种类型是映射(mapping),也就是一个名/值对(
-
Android清除工程中无用资源文件的两种方法
一.调用Android lint命令查找出没有用到的资源,并生成一个清单列表: 命令:lint –check "UnusedResources" [project_path] > result.txt 执行完之后会生成一个清单文件,内容如下: 二.使用代码自动删除无用的文件: public class DelAction { public static void main(String[] args) throws IOException { String projectPath
随机推荐
- 小心你的 ADSL猫被黑
- 硬盘启动提示verifying DMI Pool Data错误的解决方法
- Swift中Optional值的链式调用学习笔记
- BootStrap Table 获取同行不同列元素的方法
- 常见效果实现之返回顶部(结合淡入、淡出、减速滚动)
- Yii2中多表关联查询hasOne hasMany的方法
- Python标准库之sqlite3使用实例
- JavaScript性能优化 创建文档碎片(document.createDocumentFragment)
- C语言求矩阵的各列元素之和的代码示例
- 基于jQuery实现的扇形定时器附源码下载
- 用VBS实现音乐播放的多个代码小结
- js数组转json并在后台对其解析具体实现
- utf8的编码算法 转载
- WebStorm ES6 语法支持设置&babel使用及自动编译(详解)
- Nginx DNS resolver配置实例
- 用Python计算三角函数之acos()方法的使用
- 基于jdbc处理Clob的使用介绍
- Android线程中设置控件的值提示报错的解决方法
- PHP多线程模拟实现秒杀抢单
- 你可能不知道的CORS跨域资源共享