2

カスタマイズされたテキスト ビューでテキストを置き換えようとしています。目的は、テキストを強制的に LTR にすることです。そのために、テキストに「\u200E」プレフィックスを追加しています。現在、setText() はカスタマイズされた textView に影響を与えません。

public class LocalizedTextView extends TextView {
    public LocalizedTextView(Context context) {
        super(context);
        init(context);
    }

    public LocalizedTextView(Context context, AttributeSet attrs) {
        super(context, attrs);
        init(context);
    }

    public LocalizedTextView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        init(context);
    }

    private void init(Context context) {
        this.setText("\u200E" + getText().toString());
    }
}

そして、これはカスタマイズされた要素です:

<com.tempProject.customviews.LocalizedTextView
    android:id="@+id/item_text"
    style="@style/DrawerSectionText"
    android:textDirection="ltr" />

4.2.0 よりも古いデバイスで、RTL コンテンツを含む textView を強制的に左揃えにするアイデアは大歓迎です。マニフェストで android:supportsRtl フラグを true に設定する必要があります。

4

0 に答える 0