与阿拉伯语变音符号上的Android Spannable对齐

时间:2017-02-07 20:58:42

标签: android arabic diacritics spannable

我正在写阿拉伯语 - 土耳其语的字典。我想通过spannable制作丰富多彩的变音符号。这是工作但变音符号'垂直对齐变化。这是我的布局。

<TextView
                android:layout_width="match_parent"
                android:layout_alignParentTop="true"
                android:layout_toLeftOf="@+id/ivFavori"
                android:layout_toStartOf="@+id/ivFavori"
                android:id="@+id/tvHeader"
                android:onClick="@{() -> handlers.onHeaderClick(arapcaModel)}"
                android:bufferType="spannable"
                android:text="@{arapcaModel.lemma.formatted}"
                tools:text="أُخْرُجْ"
                android:layout_weight="1"
                android:layout_height="match_parent"
                android:textAppearance="@style/TextAppearance.AppCompat.SearchResult.Title"
                android:gravity="right|center_vertical"
                android:textSize="22sp"
                android:paddingTop="10dp"
                android:paddingBottom="4dp" />

这就是我将变音符号变得丰富多彩的代码。

public void setFormat(){
        String birlesik=lemma_vocalized + " - " + lemma_mfiil + " - " + lemma_emir + " - " + lemma_masdar + " - " + lemma_kok;
        formatted=new SpannableString(birlesik);
        formatted.setSpan(new 
        Pattern mPattern = Pattern.compile("([ً-ٟ])");

        Matcher matcher = mPattern.matcher(birlesik);
        while (matcher.find()) {
            int start = matcher.start();
            int end = matcher.end();
            formatted.setSpan(new ForegroundColorSpan(Color.rgb(255,0,0)), start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

        }
    }

The result is like this

If I comment this function result is like this.

我该如何解决这个问题?

0 个答案:

没有答案