zoukankan      html  css  js  c++  java
  • android中如果需要将字符在两行TextView中进行显示时字符过长问题?

    问题引导:在Android中,使用TextView来显示文字,如果所有文字都在一行显示时,那么当文字过长的时候,
         1:如果不加设置则出现的现象是,显示不全;
         2:如果设置android:singline = “true”, 则过长时,会自动将文字的后面较长的部分替换为省略号
     
    问题:如果我们需要在两行来显示文字,那么文字过长的时候怎么办?
    想法:既然长了就替换啊,省略号搞起。。
     
     
    publicstaticvoid main(String[] args) {
    String str1 =
    "c"; // 英文字符  1
    String str2 =
    "1"; // 数字      1
    String str3 =
    "你"; // 汉字     1
    String str4 =
    "c1"; // 组合     2
    String str5 =
    ","// 英文标点  1
    String str6 =
    ","// 中文标点 1

    System.
    out.println(str1 + " : " + str1.length());
    System.
    out.println(str2 + " : " + str2.length());
    System.
    out.println(str3 + " : " + str3.length());
    System.
    out.println(str4 + " : " + str4.length());
    System.
    out.println(str5 + " : " + str5.length());
    System.
    out.println(str6 + " : " + str6.length());
    }
     
         上面是对各种不同类型的字符类型在Java String中的长度测试,结果是所有的类型当个字符都是1。恩,也就是说string.length的结果就是字符个数,这个与字符类型无关。
         好像这是常识?然后问题来了,不同的字符在显示的时候占用的空间完全不同,数字偏小,标点的站位更是乱。我们想要知道某个字符串占用了多少空间,直接使用其总长度来估算是不准确的。此时,需要对字符串中各个字符按照数字,英文字符,汉字,标点类型进行分组。
     
     
     
     
     
     
     
  • 相关阅读:
    DbHelperSQL
    弹出插件
    C#汉字转换拼音技术详解(高性能)
    js转移符
    服务器端世界时间(UTC)转换客户端时区时间
    asp.net分页存储过程
    开放式并发的解决办法
    关于批量数据更新的问题(C#高性能)
    Url相对路径和绝对路径的问题总结
    英文字体运用
  • 原文地址:https://www.cnblogs.com/weilf/p/4425486.html
Copyright © 2011-2022 走看看