您当前的位置: 首页 > 
  • 0浏览

    0关注

    674博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

文字自适应大小AppCompatTextView使用

沙漠一只雕得儿得儿 发布时间:2022-06-16 14:36:22 ,浏览量:0

AppCompatTextView的作用

AppCompatTextView作用是根据字数自动调整字号大小,防止字数太多时文字被截断或者省略号的出现。而传统的TextView无法自动调整文字大小,超出会截断或者显示省略号。

比如有一个TextView,它的宽度最大是100dp,而它的文字长度不确定,一般是由服务端下发。这个时候产品需求是不管多少都要显示完全,文字多时自动变小,文字少时自动变大,不允许截断或者出现省略号。

这种情况下,TextView就不满足我们的需要,AppCompatTextView就闪亮登场了。

AppCompatTextView的使用示例

下面是一个使用示例:




    

当字数比较少时,显示效果如下:

 当字数较多时,显示效果如下:

AppCompatTextView的使用步骤

完整使用步骤如下:

(1)、将TextView替换成AppCompatTextView。

(2)、添加属性:android:maxLines="1" 或者 android:lines="1",设置为单行显示。 注意千万不要用android:singleLine="true",否则缩放无效。

(3)、添加属性:app:autoSizeTextType="uniform" 设置为字号自动缩放。 这个属性只有两个值:uniform和none

(4)、添加属性:app:autoSizeStepGranularity="1sp" 设置最小缩放步长1sp,不指定时默认1px。

(5)、设置最小字号:app:autoSizeMinTextSize="8sp" ,根据实际情况设置。

(6)、设置最大字号:app:autoSizeMaxTextSize="36sp",根据实际情况设置。

完成以上步骤,即可实现字号自动缩放(适应)。

AppCompatTextView的使用注意事项

(1)、android:layout_width设置成固定值、wrap_content、match_parent都是可以的。

(2)、AppCompatTextView结合RecyclerView使用也是可以的。

(3)、在RecyclerView的Adapter中动态给AppCompatTextView设置文字时,不要使用SpannableString,否则缩放无效。如果一定要用SpannableString可以转化成String用(调用toString()),不过这样SpannableString的作用就无效了。  

注意:

1、如果你的 minSdkVersion ≥ 26 那么TextView 已经自带该项支持,只需要添加在 xml 文件中添加android:autoSizeTextType="uniform" 即可!

2、如果你的minSdkVersion 小于 26,那么就需要使用 v7 支持包中的 android.support.v7.widget.AppCompatTextView 来替换原来的 TextView,并且在 xml 文件中添加 app:autoSizeTextType="uniform" 以获得该功能的支持!  

关注
打赏
1657159701
查看更多评论
立即登录/注册

微信扫码登录

0.0369s