zoukankan      html  css  js  c++  java
  • android 双向文字问题

      双向文字就是一个字符串中包含了两种文字,既包含从左到右的文字又包含从右到左的文字。

      大多数文字都是从左到右的书写习惯,比如拉丁文字(英文字母)和汉字,少数文字是从右到左的书写方式比如阿拉伯文(ar)跟希伯来文(he)。对于需要国际化支持的应用来说,由于阅读习惯的不同在页面排版和布局中会给开发人员带来麻烦。这种情况多数出现在从右到左的文字中,比如字符串中出现阿拉伯文、英文字母、数字以及标点符号。

      遇到的问题:android 某个页面显示title为: username + "唱的歌" ,当用户名为阿拉伯文时,textview显示的字符串就会变成“唱的歌username”。很神奇,是因为阿拉伯文是从右往左的,所以才会有显示的问题。

      解决方法:http://developer.android.com/reference/android/support/v4/text/BidiFormatter.html

    StringBuilder builder = new StringBuilder();
            return builder
                    .append(BidiFormatter.getInstance().unicodeWrap(mTitleName))
                    .append("唱的歌").toString();
    

      这样就OK了。

  • 相关阅读:
    编译错误总结。
    9.7
    9.5
    9.6
    9.4
    9.3
    FutureTask取结果超时代码小测试
    java concurrent包常用类小结
    java Nio零散知识点整理
    java进阶教程unit_2java常用类(2)
  • 原文地址:https://www.cnblogs.com/aprz512/p/4988809.html
Copyright © 2011-2022 走看看