[bug修复方案分享]阿拉伯文导致TextView显示顺序左右颠倒

bug现象:

在“?(·ω·) ?”这个表情后通过StringBuilder拼接的文字会显示在表情内部,例如拼接“2015”后TextView控件中显示为“?(·ω·) ?2015”

bug原因排查:

Step1:怀疑是工程师调用append方法错误,但通过debug调试查看String的char[]值正常

Step2:怀疑是“ ?”这个特殊字符引起的问题,删除后显示正常

Step3:百度搜索“ ?”字符,发现是阿拉伯语文字,结合阿拉伯语从右至左的阅读、书写顺序,确认bug原因

bug修复方法:

Android文本支持强制从左至右显示字符串,方法是在文本前后拼接“\u202D”和“\u202C”

    public String forceL2R(String content) {
        if (content == null) {
            return null;
        }
        return "\u202D" + content + "\u202C";
    }

  

时间: 2024-10-14 04:40:06

[bug修复方案分享]阿拉伯文导致TextView显示顺序左右颠倒的相关文章

[bug修复方案分享]ImageSpan居中问题

1.背景及原因分析: 之前我们自定义的ImageSpan,居中的算法是这样: 这个计算方法使用bottom这一参数为基准,进行居中计算.如果一个textview设置了行距,在android5及以上的操作系统,textview在单行和多行是这个bottom值是不一样的(单行文本无行距).导致居中的显示有误. 2.解决办法: 须要找到一个合理的基准,我以y这个参数为基准.从源码上观察,y即字体排印学中的基线(wiki地址,可能被墙). 则新的计算方法为:

[bug修复方案分享]Android4.0以上弹出Notification时图标显示不正常

1. 现象 在Android4.0以上系统中,弹出通知栏消息时图标显示不全,如下图: v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} Normal 0 10 pt 0 2 false false false EN-US ZH-CN X-NONE $([{£¥·'"

[golang] Glide 包管理工具,在windows10 64位系统上的bug修复方案

bug重现 [ERROR] Unable to export dependencies to vendor directory: Error moving files: exit status 1. output: Access is denied. 0 dir(s) moved 解决方案 第一步 //找到这个文件 github.com/Masterminds/glide/blob/master/path/winbug.go // CustomRemoveAll is similar to os

Android 热修复方案分析

绝大部分的APP项目其实都需要一个动态化方案,来应对线上紧急bug修复发新版本的高成本.之前有利用加壳,分拆两个dex结合DexClassLoader实现了一套全量更新的热更方案.实现原理在Android 基于Proxy/Delegate 实现bug热修复这篇博客中有分解.因为这套方案是在Java端实现,并且是全量更新所以兼容性较好,成功率较高.但是在线上跑了几个月之后就碰到了瓶颈,因为随着业务的增长分拆过之后的dex文件方法数也超过65535个,更换拆包方案的话维护成本太高.同时由于没有做差异

Struts2漏洞修复方案

近期Struts2被曝重要漏洞,此漏洞影响struts2.0-struts2.3所有版本,可直接导致服务器被远程控制从而引起数据泄漏,影响巨大,受影响站点以电商.银行.门户.政府居多. 官方描述:S2-016:https://cwiki.apache.org/confluence/display/WW/S2-016S2-017:https://cwiki.apache.org/confluence/display/WW/S2-017 官方建议修复方案:升级到最新版本 struts-2.3.15.

Android Muitldex热更新修复方案原理

前言 做程序开发,基础很重要.同样是拧螺丝人家拧出来的可以经久不坏,你拧出来的遇到点风浪就开始颤抖,可见基本功的重要性.再复杂的技术,也是由一个一个简单的逻辑构成.先了解核心基础,才能更好理解前沿高新技术. 正文大纲 先看效果{github Demo地址}:(https://github.com/18598925736/HotUpdateDemo) Demo使用方法 Demo源码概览 热修复核心技术 基础知识预备 hook思路 TIPS 热更新技术,不是新话题.目前最热门的热更新由两种,一种是腾

Bash漏洞批量检测工具与修复方案

<img src="http://image.3001.net/images/20140928/14118931103311.jpg!small" title="shellshock-bug-bash-bashbug-938x535.jpg"/></strong></span>&a

网站安全之逻辑漏洞检测 附网站漏洞修复方案

在网站安全的日常安全检测当中,我们SINE安全公司发现网站的逻辑漏洞占比也是很高的,前段时间某酒店网站被爆出存在高危的逻辑漏洞,该漏洞导致酒店的几亿客户的信息遭泄露,包括手机号,姓名,地址都被泄露,后续带来的损失很大,最近几年用户信息泄露的事件时有发生,给很多企业,酒店都上了一堂生动的安全课.关于网站逻辑漏洞的总结,今天跟大家详细讲解一下.网站逻辑漏洞 用户的隐私信息属于数据的保护的最高级别,也是最重要的一部分数据,在逻辑漏洞当中属于敏感信息泄露,有些敏感信息还包括了系统的重要信息,比如服务器的

网站安全之逻辑漏洞检测 附漏洞修复方案

在网站安全的日常安全检测当中,我们SINE安全公司发现网站的逻辑漏洞占比也是很高的,前段时间某酒店网站被爆出存在高危的逻辑漏洞,该漏洞导致酒店的几亿客户的信息遭泄露,包括手机号,姓名,地址都被泄露,后续带来的损失很大,最近几年用户信息泄露的事件时有发生,给很多企业,酒店都上了一堂生动的安全课.关于网站逻辑漏洞的总结,今天跟大家详细讲解一下. 网站逻辑漏洞 用户的隐私信息属于数据的保护的最高级别,也是最重要的一部分数据,在逻辑漏洞当中属于敏感信息泄露,有些敏感信息还包括了系统的重要信息,比如服务器