TextView中lineSpacingExtra属性兼容性问题

android:lineSpacingExtra 属性是用来设置文字的行间距的,使用dp作单位,如:android:lineSpacingExtra="7dp"。但是,运行在不同版本的系统中,该属性显示出不同的效果。以下便是对该属性的应用总结。
1.当运行在Android 5.0 系统(包含)以下中,设置android:lineSpacingExtra="7dp"时,出现如下:
上图中,系统会在最后一行自动添加一个行间距大小的间距,效果等同于:android:paddingBottom="7dp"。这时,我们如果需要通过padding来控制View之间的间距时,需要考虑该间距。
2.当运行在5.0以上的系统中,设置android:lineSpacingExtra="7dp"时,又出现如下:
这时,我们会发现,最后一行不会出现自动添加一个行间距大小的下边距。这时,我们如果需要通过padding来控制View之间的间距时,又不需要考虑该间距。

如上,运行在不同的版本中,会出现不同的效果。那么如何避免这种兼容性问题呢?
我们可以通过设置该TextView的android:paddingBottom来设置下边距,这里不使用具体的数值,而是读取dimens文件的资源:
android:paddingBottom="@dimen/lineSpacingExtra"

这时我们再分版本设置dimens变量的值:
在values当中的dimens设置linepaddingbutton=0dp
在values-v22 当中的dimens设置linepaddingbutton=7dp

这样就可以解决兼容性的问题实现一致的显示的效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值