2016-08-02 11 views
4

私はこの投稿のすべてを試しました:Android RTL password fields?RTLパスワードフィールドAndroid

しかし、何も助けてくれませんでした。

問題:ユーザーのロケールがアラビア語(RTL)の場合、自分の言語でパスワードを入力するのが快適になりたいと思っています。しかし、私がinputTypetextPasswordに割り当てると、それが機能せず、私が何を割り当ててもLTRに強制されます。

私はgravity,textAlignment,layoutDirectionを割り当てようとしましたが、プログラムで試したこともありますが、何も問題はありません。

他のすべてのテキストフィールドは、パスワード以外はすべて正常に動作します。このバグ/問題の回避策はありますか?

答えて

6

私は停止し、あなたを説得するためにここにいます答えを探しています。本当にごく少数の人がアラビア文字(時にはUserName)を使ってパスワードを設定します。これは、ほとんどのパスワードシステムが非ラテン文字を扱う際に非常に悪いためです。これらのシステムでは通常、パスワードはUnicodeではなくASCIIであり、特に古いDBシステムであると想定しています。さらに、ユーザーがキーボードを別の言語レイアウトに切り替えるのが難しいことがあることを覚えておいてください。この問題は、以前Windowsログインで発生していました。

これらの歴史的および慢性的な互換性の問題により、ほとんどの人はパスワードに非ラテン文字を使用できなくなりました。私は十分に住んでいて、たくさんの人々を扱っています(実際には多くの人々...コンピューター能力がない人、アラビア語のインターフェースを使用する人、英語がない人など...)彼のパスワードはアラビア語の文字で... 90年代後半でさえ、この時代でさえない。大部分はラテン文字でパスワードを設定するので、私はすべてのログインインターフェースをLTRで 'レイアウト'し、左揃えにする必要があると考えています。

別のものパスワードフィールドはテキストをスターに変換するので、右から左への開始と左から右への開始の間に違いはありません(悲しいことに、 :

<p align="right">******</p> 
 
<p align="left">******</p>

More technical info here

+0

私はすでにパスワードを英語で入力しなければなりません。説明をありがとう ' –

+0

これは正しい答えです –

0

では、次を試してみました?:

XML:

android:ellipsize="end" 

のJava:

textview.setTextDirection(View.TEXT_DIRECTION_RTL); 

または

textview.setTextDirection(View.TEXT_DIRECTION_ANY_RTL); 
+1

いいえ、まだ動作しません。 –

1

あなたはあなたの言語(アラビア語、ウルドゥー語または英語)に基づいて右(LTR)または左(RTL)に左から右テキストの配置を設定することができます編集テキストXMLファイルに1つのプロパティを設定するだけです。

android:inputType="textPassword" 
android:textAlignment="viewStart" 
関連する問題