Android Oreo 8.0 新特性实战 Autosizing TextView --自动缩放TextView

发布时间:2019-08-06 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Android Oreo 8.0 新特性实战 Autosizing TextView --自动缩放TextView脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_360_1@AndROId Oreo 8.0 新特性实战 Autosizing TextView --自动缩放TextView

8.0出来很久了,这个新特性已经用了很久了,但是一直没有亲自去试试。这几天新的需求来了,需要显示用户的金币,默认是大字体展示,但是又要求用户的金币过多(例如: 9999999 金币)时不能超出布局范围,所以需要在用户金币过多时为了将金币显示出来,需要减小字体大小。这样的需求真的和这个新特性很吻合,于是借此机会写了个简单的demo,现在分享出来,当然你也可以查看官方文档:
https://developer.android.com/guide/topics/ui/look-and-feel/autosizing-textview.html

1. 先看看效果图

Android Oreo 8.0 新特性实战 Autosizing TextView --自动缩放TextView

如果图挂了可以看我的博客园同步发布的文章:
http://www.cnblogs.com/didikee/p/7873827.html

2. 使用条件

新特性支持 android8.0
当然,你也可以使用Support library,但是必须是26.0.0及其以上,我这里使用的是目前最新的 26.1.0

implementation 'com.android.support:appcompat-v7:26.1.0'

3. 三个API使用说明

PRivate void inITScaleconfig() {
        //TODO config scale params for normal textView
        /**
         * android_autoSizeTextTyPE="uniform"
         * the type of auto-size. Must be one of
         *        {@link TextViewCompat#AUTO_SIZE_TEXT_TYPE_NONE} or
         *        {@link TextViewCompat#AUTO_SIZE_TEXT_TYPE_UNIFORM}
         *        none: 关闭缩放功能
         *        uniform: 垂直方向与水平方向缩放
         */
        TextViewCompat.setAutoSizeTextTypeWithdefaults(tv_scale, TextViewCompat.AUTO_SIZE_TEXT_TYPE_UNIFORM);

        /**
         * 参数一: 被设置的TextView
         * 参数二: 自动缩放的最小字号
         * 参数三: 自动缩放的最大字号
         * 参数四: 参数二与参数三所用的单位,这里因为字体大小,所以我指定为SP
         */
        TextViewCompat.setAutoSizeTextTypeUniformWithConfiguration(tv_scale,
                12, 48, 2, TypedValue.COMPLEX_UNIT_SP);

        /**
         * 参数一:
         * 参数二: 设置多个预制字体大小,这样在缩放时字体会根据预制的字体大小而缩放
         * 参数三: 参数二里面的Int值对应的单位,这里因为字体大小,所以我指定为SP
         */
        int[] autoTextSize = getResources().getIntArray(R.array.autosize_text_sizes);
        TextViewCompat.setAutoSizeTextTypeUniformWithPresetSizes(tv_scale, autoTextSize, TypedValue.COMPLEX_UNIT_SP);
    }

具体参数说明我写在了注释上了,应该很详细了。

结束

完整的代码在Gist上,点击查看:
https://gist.github.com/didikee/c846adf08c2be3c5a69e633536a60e12

脚本宝典总结

以上是脚本宝典为你收集整理的Android Oreo 8.0 新特性实战 Autosizing TextView --自动缩放TextView全部内容,希望文章能够帮你解决Android Oreo 8.0 新特性实战 Autosizing TextView --自动缩放TextView所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。