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了。

转载于:https://www.cnblogs.com/aprz512/p/4988809.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值