zoukankan      html  css  js  c++  java
  • AutoSizing TextView的使用

    AutoSize属性的作用是让文本内容尽量填充TextView。AutoSize是动态属性,也就是说,它能随着控件容器大小的变化,或者文本内容的变化,动态改变文本的显示方案,使得文本内容尽量填充TextView

    如何使用AutoSize?

    在布局文件中,直接设置autoSizeTextType属性为uniform即可。这样,文本内容便会忽略android:textSize属性,从水平和垂直两个方向上缩放文本的内容。

    <TextView
        android:layout_width="200dp"
        android:layout_height="200dp"
        app:autoSizeTextType="uniform"/>
    

     如果不想使用AutoSize属性,将其设置为none即可。

    <TextView
        android:layout_width="200dp"
        android:layout_height="200dp"
        app:autoSizeTextType="none"/>
    

     注意:在布局文件中使用AutoSize属性之前,需确保引入命名空间app

    xmlns:app="http://schemas.android.com/apk/res-auto"

    另外,还需要注意的是,在使用AutoSize属性时,TextView的layout_widthlayout_height属性不能设置为wrap_content。官方的解释是,这样可能会导致出乎预料的结果。解决方案是,将TextView设置为match_parent或者一个固定的大小。

    <TextView
        android:layout_width="match_parent"
        android:layout_height="200dp"
        app:autoSizeTextType="uniform"/>

    AutoSize的其它属性

    单纯地使用AutoSize属性,系统会根据当前的情况,自动为你缩放文本内容,但也许你希望对文本字体大小进行限制或自定义。为此AutoSize还提供了其它几个属性。

    app:autoSizeMaxTextSize 设置缩放过程中,字体的最大值。

    app:autoSizeMinTextSize 设置缩放过程中,字体的最小值。

    app:autoSizeStepGranularity 设置缩放变化的粒度。即字体发生变化时,字体大小增减的粒度。

    <TextView
        android:id="@+id/tvText"
        android:layout_width="200dp"
        android:layout_height="200dp"
        app:autoSizeMaxTextSize="100sp"
        app:autoSizeMinTextSize="20sp"
        app:autoSizeStepGranularity="2sp"
        app:autoSizeTextType="uniform" />

    如上所示:字体最大不会超过100sp,最小不会低于20sp,每次字体发生变化的最小的粒度为2sp。

    注意:字体最大不能超过112sp,最小不能低于12sp,粒度最小为1px。

    AutoSize属性和android:singleLine属性是冲突的,其实也很好理解,因为AutoSize需要根据情况适时改变文本,截断文本,所以和singleLine的特性相冲突,这个在使用过程中需要注意。

  • 相关阅读:
    Java初学者笔记四:按行读写文件和输入处理
    Java初学者笔记三:关于字符串和自实现数组常见操作以及异常处理
    Java初学者笔记二:关于类的常见知识点汇总
    python的类继承与派生
    Java初学者笔记一:元类、获取类型、枚举
    Tomcat远程任意代码执行漏洞及其POC(CVE-2017-12617)
    PostgreSQL远程代码执行漏洞(CVE-2018-1058)学习笔记
    python的三个函数(eval、exec、complie)和python版RMI
    关于Memcached反射型DRDoS攻击分析
    python的其他安全隐患
  • 原文地址:https://www.cnblogs.com/loaderman/p/14049283.html
Copyright © 2011-2022 走看看