安卓开发之TextView使用lineSpacingExtra时由于手机系统在5.1.1以下版本最后一行也会有距离的处理

提示:

1、因为发现这个东西也跟着手机系统的不一样而不一样,目前发现在5.1.1系统以下会出现,
所以我就在代码中动态判断设置padding来解决。

2、首先普及一下,如果需要textview中不需要默认的padding的话
则在xml布局文件添加includeFontPadding属性 设置为false即可

正题:
1、我发现在布局文件加:lineSpacingExtra之后textview看起来就不居中了,然后我就加个背景色查看发现是因为最后一行出现了间距,如下:

<TextViev
   style="@style/tv_w_w_s24_c_66"
   android:layout_gravity="center"
   android:gravity="center_vertical"
   android:includeFontPadding="false"
   android:lineSpacingExtra="@dimen/d8px" />

2、在7.0系统时发现是正常的。不会有下面的间距,所以之后我就根据系统的版本判断来确定,给paddingTop加上和lineSpacingExtra同样的距离大小来居中整个textview

    /*
            版本5.1.1相对于22,所以直接判断如果版本小于或者等于22就给他设置paddingtop
            其他版本不需要设置即可!
    */
   if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.LOLLIPOP_MR1) {
           tv.setPadding(0, Utils.dp2px(mContext, 4), 0, 0);
    }

在这里做个记录!有碰到的可以看看!

猜你喜欢

转载自blog.csdn.net/qq_33373648/article/details/78741900
今日推荐