qzrsaaa
V2EX  ›  Android

测试 app 时,我们的测试发现了小米手机上一个神奇的问题

  •  
  •   qzrsaaa · Jul 8, 2017 · 14934 views
    This topic created in 3238 days ago, the information mentioned may be changed or developed.

    对一个 TextView 控件进行单行限制,代码如下:

    <TextView
            android:id="@+id/single_number"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ellipsize="end"
            android:lines="1"
            android:textSize="20sp"/>
    

    没什么特别的地方,然后对这个控件进行内容填充的时候,问题来了。 填充内容如下:

    "    3345435646347453765735675765867846536456436246"
    

    注意前面有几个空格。 结果小米手机展示的样式是:

    为什么会这样,难道是小米对分词做了处理?

    8 replies    2017-07-14 17:32:16 +08:00
    qzrsaaa
        1
    qzrsaaa  
    OP
       Jul 8, 2017
    如果不加空格的话不会有问题,加了空格之后,就会出现后面的数字全部不显示了。。。
    beimenjun
        2
    beimenjun  
    PRO
       Jul 8, 2017
    被识别成电话号码了?
    qzrsaaa
        3
    qzrsaaa  
    OP
       Jul 8, 2017
    我试过如果 lines 设置 2 行的话,那一串数字就会显示到第二行
    rogerchen
        4
    rogerchen  
       Jul 8, 2017
    android:ellipsize="end"
    根据文档[1],显示头四个字符 + ...,完美贴和你的情况。


    [1]https://developer.android.com/reference/android/widget/TextView.html#attr_android:ellipsize
    qzrsaaa
        5
    qzrsaaa  
    OP
       Jul 8, 2017
    android:ellipsize="end" 这属性设不设置无所谓,不设置的话,就直接显示一行空白了
    BigBearWatchYou
        6
    BigBearWatchYou  
       Jul 9, 2017
    标题强调了小米系统的话,建议在正文贴上其他系统的表现会更切题一些
    pcatzj
        7
    pcatzj  
       Jul 10, 2017
    你不是少了个“ maxLines ”?
    bewareofbears
        8
    bewareofbears  
       Jul 14, 2017
    单行控制.某些情况下 maxLines 在部分机型上也有问题.遇到了.就把 singleLine 用回来.
    一般 maxLines 就好了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2668 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 408ms · UTC 15:31 · PVG 23:31 · LAX 08:31 · JFK 11:31
    ♥ Do have faith in what you're doing.