Android TextView 去掉自适应默认的fontpadding的实现方法
时间:2022-07-28
本文章向大家介绍Android TextView 去掉自适应默认的fontpadding的实现方法,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Android TextView 去掉自适应默认的fontpadding的实现方法
最近在项目中使用textview时发现在使用Android:layout_height=”wrap_content”这个属性设置后,textview会有默认的padding,也就是fontpadding。这样就会造成textview和其他view中间的间距会比自己的设置的大。那么我们怎么来remove掉这个间距呢?
第一、先试试设置includefontpadding=false ,如果不能达到目的的话,可以按照第二种方法。
第二、实现自定义TextView,只需继承自TextView然后重写onDraw方法就可以了。
FontMetricsInt fontMetricsInt;
@Override
protected void onDraw(Canvas canvas) {
if (adjustTopForAscent){//设置是否remove间距,true为remove
if (fontMetricsInt == null){
fontMetricsInt = new FontMetricsInt();
getPaint().getFontMetricsInt(fontMetricsInt);
}
canvas.translate(0, fontMetricsInt.top - fontMetricsInt.ascent);
}
super.onDraw(canvas);
}
第二种方法一般能达到目的,如果还是不能的话,那只能使用marginTop等于负值来实现了,不过不推荐这种方法。
如有疑问请留言或者到本站社区交流讨论,感谢阅读希望能帮助到大家,谢谢大家对本站的支持!
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- C++入门实例:创建工程、opencv引用及简单实例
- C#实例:datagridview单元格合并
- C# 封装实例
- C# Socket编程笔记
- C#实例:串口通讯
- C#中的信号量---Semaphore
- C# excel文件导入导出
- 「变更管理」成功的变更管理—Kotter的8步变更模型
- C# 获取txt文件邮箱号码并去重复
- C#中Enum用法小结
- Python爬虫基础总结
- C# TASK使用实例
- [打造自己的监控系统之执行Oracle命令]获取Oracle执行次数等于一的语句(硬解析状况)
- [打造自己的监控系统之执行Oracle命令]检查未绑定变量的语句(硬解析状况)
- httpclient使用HTTP代理实践