首页 > 解决方案 > 支持自定义视图的 RTL

问题描述

我正在创建一个自定义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 布局(例如阿拉伯语或波斯语)。

你能帮忙吗?

标签: androidandroid-layoutlocalizationandroid-edittextandroid-custom-view

解决方案


推荐阅读