
如果我们在布局上这样写会发现一个问题

我们设置的上边距是24。但是发现实际跟文字之间的距离是大于24的
那么要怎么办呢
大部分人会说加上这个属性

看起来是好那么一点点,但是还有一点偏差
我们先来看看绘制的几条线

- :能绘制的最高点
- :推荐的上边缘线
- :基准线
- :推荐的下边缘线
- :能绘制的最低点
先说说 , 这个属性为时,的绘制区域为至。 为时,的绘制区域为至。
那么就好办了 也就是说 我们把下移到文字的上边缘 把上移到文字的下边缘 然后再借助就可以把文字的上下边距去掉了
接下来就有两个问题
- 怎么获取文字的上边缘和下边缘
- 怎么修改t和
可以获取文字的 对应着文字的上下左右边缘
注意:和一样 一般为负值 往上的为负 往下的为正 和一般为正
使用 可以修改的行高
继承后 实现方法就可以修改方法传来的
修改变量和
接下来的问题就是 这么把我们的设置到上呢
android.text 里面有个叫的类 主要就是给我们用来修改文字样式的
我们只需要 调用里面的方法 把我们的设置进去
然后在的时候把我们的放进去就可以了
现在我们有知道了文字的上边缘和下边缘。用把和移动到文字的边缘 然后把设置成就可以让文字的上下去掉了
如果我们简单粗暴的把设置成 设置成 的确能达到去掉上下padding的效果
比如 这两个 一个是 “一” 另一个是 “二” 我们发现 不同文本会导致的高度也一同变化

一般的高度我们都是设置成的 我们使用作为文字的高度(大部分中文的高度都是一这个大小)
方法如下
为了方便大家理解 所以上面是用递归的方法 下面是的不递归的方法 目的是一样的
修改过后我们看看最终效果

使用方法跟一样
转载:https://juejin.cn/post/
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/1950.html