我想在android视图(webview或textview)上显示连接的彩色阿拉伯字母。
首先,我使用了没有颜色的textview和正确显示的阿拉伯语。
当我使用spannablestring时,彩色字母与单词断开连接。
其次,我使用了带有html和字体标记的webview。我也有同样的结果。
每次我试图给一个单词中的一个字母加上颜色时,这个字母就显示为与该单词断开连接。
有人能解决这个问题吗?
Android版本>4.0

最佳答案

谢天谢地,经过许多努力,我找到了解决办法。
使用开源库:
Better-Arabic-Reshaper
1:返回Unicode格式的Android文本。
2:然后你用这样的跨度颜色:

    final SpannableStringBuilder ssb = new SpannableStringBuilder();
    final int flag = Spannable.SPAN_EXCLUSIVE_EXCLUSIVE;

    //converting arabic text to unicode chars
    String dd=ArabicUtilities.reshape("بِسْمِ اللَّهِ الرَّحْمَنِ الرَّحِيمِ");
    ssb.append(dd);
    //applying colors
    ssb.setSpan(new ForegroundColorSpan(Color.RED), 0, 1, flag);
    ssb.setSpan(new ForegroundColorSpan(Color.RED), 1, 2, flag);
    ssb.setSpan(new ForegroundColorSpan(Color.GREEN), 2, 3, flag);
    ssb.setSpan(new ForegroundColorSpan(Color.BLUE), 3, 4, flag);
    //seting formated spanned text
    textview.setText(ssb);

10-06 06:56