在Textview中为阿拉伯文本着色看起来像是单独的

时间:2018-12-29 10:05:54

标签: android textview

当我使用this font时,我尝试使用 SpannableString 在textview中为阿拉伯文本着色,然后我变得像是分开还是未连接,在下面我将其标记为红色。

enter image description here

没有跨度的图片,如下图所示(看起来已连接)。

enter image description here

这是我的代码:

SpannableString wordtoSpan = new SpannableString("تَنْكِحَ");
wordtoSpan.setSpan(new ForegroundColorSpan(Color.BLUE), 0, 6, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

Typeface typeFace = Typeface.createFromAsset(getAssets(), "fonts/qalammajeed.ttf");
textView.setTypeface(typeFace);
textView.setText(wordtoSpan);

我的问题是是否有为阿拉伯文本加上颜色和获取非分隔文本的想法。

谢谢。

1 个答案:

答案 0 :(得分:0)

enter image description here,您正在为6个字符着色。与英语相比,每个阿拉伯字母算作两个。 这应该可以解决问题:

wordtoSpan.setSpan(new ForegroundColorSpan(Color.BLUE), 0, 8, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

关于下面的评论,该代码似乎将字体应用于整个文本。唯一的问题可能是您尚未在手机上安装波斯语或阿拉伯语。看到我的手机屏幕截图看起来不错。