39

数値のパスワード フィールドである必要がある EditText フィールドがあります。ポートレートモードではすべて問題なく動作します。風景ではありません。ユーザーが EditText フィールドを選択すると、UI がフィールドにズームインし、入力するとすべての文字が表示されます。

数字キーボードも必要です。入力タイプを text password|number に設定してみました。「番号」オプションを削除すると、すべてが正常に機能します。そうでなければいいえ。

助言がありますか?

4

8 に答える 8

61

この問題は deprecated を使用しなくても解決できますandroid:password。次のコード スニペットを使用しますが、呼び出しの順序を逆にしないでください。

    EditText editText = (EditText) findViewById(R.id.MyEditText);
    editText.setInputType(InputType.TYPE_CLASS_NUMBER);
    editText.setTransformationMethod(PasswordTransformationMethod.getInstance());
于 2010-10-25T12:38:00.943 に答える
18

非表示にする必要がある数値テキスト エントリ (パスワード スタイル) に対して私が見つけた最も簡単な解決策は、次を使用することでした。android:inputType="numberPassword"

私のために働いた完全な例:

<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    style="@style/MyLargeTextBox"
    android:background="@android:drawable/editbox_background_normal"
    android:id="@+id/txtWebServicePIN"
    android:layout_row="3"
    android:layout_column="2"
    android:layout_columnSpan="2"
    android:minWidth="100dp"
    android:maxWidth="100dp"
    android:inputType="numberPassword"
    android:maxLength="6"/>
于 2014-01-02T01:37:05.410 に答える
6

パスワードがランドスケープモードのフルスクリーンエディターに表示される問題を修正するには(マーカスが説明したように)、次の行を追加してフルスクリーンエディターを無効にします。

editText.setImeOptions(EditorInfo.IME_FLAG_NO_EXTRACT_UI);

テキストとパスワードの動作をより適切にエミュレートするために、書体をモノスペースに変更することもできます。

editText.setTypeface(Typeface.MONOSPACE);
于 2011-11-02T17:44:00.443 に答える
1

これを XML で試してみてください。マニフェスト ファイルに変更はありません。

<EditText
         android:id="@+id/etPassword"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:inputType="textPassword"
         android:singleLine="true" />
于 2013-04-03T07:01:32.333 に答える
0

*!!に変換されないヒント付きの入力パスワードの作り方です。

XML の場合:

android:inputType="textPassword"
android:gravity="center"
android:ellipsize="start"
android:hint="Input Password !."

mango と rjrjr の洞察に感謝します :D.

于 2013-10-11T06:46:00.140 に答える
-2

android:password="true"と を使うべきだと思いますandroid:numeric="integer"。ただし、Android のドキュメントに記載されているように (ドキュメントでR.attr.htmlはなく でTextView)、これらは非推奨であり、 を使用する必要がありますandroid:inputType。inputType はフラグを取るため、複数の可能性を混在させることができます。そして、私android:inputType="number | password"はあなたのために働くべきだと思います。

android:password="true"古いデバイスもサポートするかどうかを指定する必要があります。

于 2010-03-19T10:54:55.407 に答える