Android lineSpacingExtra 解决行间距兼容性问题

      当我们使用TextView显示多行的文字或者单行时,为了美观,一般会加上行间距,这时就会用到lineSpacingExtra这个属性。

Android 5.0以下,在这个系统里面会添加一个行间距,导致多余空白。

Adnroid 5.0以上,google修复这个问题,但是由于厂商定制不一样,导致一些5.1版本的手机也会出现同样的问题,oppo等

 解决思路:

    1.需要理解一下字体属性及测量,先看一下https://blog.csdn.net/g0ose/article/details/80547461这一篇博客

    2.那么从上面博客里面我们知道 , baseline,Descent这俩个属性

    我们是否可以这样想一下,baseline + Descent + linespace? + paddingbottom = 组件最下面高度

    3.自定义TextView

  按上面思路,我们先继承一个AppCompatTextView,

   

public class LastLineSpaceTextView extends AppCompatTextView {



    public LastLineSpaceTextView(Context context) {
        this(context, null);
    }

    public LastLineSpaceTextView(Context context, @Nullable AttributeSet attrs) {
        this(
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值