V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
qzrsaaa
V2EX  ›  Android

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

  •  
  •   qzrsaaa · 2017-07-08 11:12:57 +08:00 · 10494 次点击
    这是一个创建于 2691 天前的主题,其中的信息可能已经有所发展或是发生改变。

    对一个 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 条回复    2017-07-14 17:32:16 +08:00
    qzrsaaa
        1
    qzrsaaa  
    OP
       2017-07-08 11:25:08 +08:00
    如果不加空格的话不会有问题,加了空格之后,就会出现后面的数字全部不显示了。。。
    beimenjun
        2
    beimenjun  
       2017-07-08 11:29:45 +08:00
    被识别成电话号码了?
    qzrsaaa
        3
    qzrsaaa  
    OP
       2017-07-08 11:47:39 +08:00
    我试过如果 lines 设置 2 行的话,那一串数字就会显示到第二行
    rogerchen
        4
    rogerchen  
       2017-07-08 12:32:28 +08:00
    android:ellipsize="end"
    根据文档[1],显示头四个字符 + ...,完美贴和你的情况。


    [1]https://developer.android.com/reference/android/widget/TextView.html#attr_android:ellipsize
    qzrsaaa
        5
    qzrsaaa  
    OP
       2017-07-08 13:30:33 +08:00
    android:ellipsize="end" 这属性设不设置无所谓,不设置的话,就直接显示一行空白了
    BigBearWatchYou
        6
    BigBearWatchYou  
       2017-07-09 17:54:01 +08:00
    标题强调了小米系统的话,建议在正文贴上其他系统的表现会更切题一些
    pcatzj
        7
    pcatzj  
       2017-07-10 09:31:35 +08:00
    你不是少了个“ maxLines ”?
    bewareofbears
        8
    bewareofbears  
       2017-07-14 17:32:16 +08:00
    单行控制.某些情况下 maxLines 在部分机型上也有问题.遇到了.就把 singleLine 用回来.
    一般 maxLines 就好了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3039 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 14:31 · PVG 22:31 · LAX 06:31 · JFK 09:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.