Поддержка RTL для пользовательского просмотра - PullRequest
0 голосов
/ 09 марта 2019

Я создаю custom EditText для добавления суффикса к тексту со следующим кодом:

public class EditTextWithSuffix extends AppCompatEditText {

    TextPaint textPaint = new TextPaint();
    private String suffix = "ssssss";

    @Override
    public void onDraw(Canvas c) {
        super.onDraw(c);
        int suffixXPosition = (int) textPaint.measureText(getText().toString()) + getPaddingLeft();
        c.drawText(suffix, suffixXPosition, getBaseline(), textPaint);
    }

    @Override
    protected void onFinishInflate() {
        super.onFinishInflate();
        textPaint.setColor(getCurrentTextColor());
        textPaint.setTextSize(getTextSize());
        textPaint.setTextAlign(Paint.Align.LEFT);
    }
}

Суффикс (ssssss) правильно отображается вполе ввода для языков слева направо, таких как английский, но не для форматов RTL (например, арабский или персидский).

Не могли бы вы помочь?

...