web-dev-qa-db-ja.com

AndroidでのAndroid:inputType = "textPassword"、 "textVisiblePassword"、 "textWebPassword"、 "numberPassword"の違いは何ですか?

誰もが違いを説明できますか

   Android:inputType="textPassword",
   Android:inputType="textVisiblePassword",
   Android:inputType="textWebPassword",
   Android:inputType="numberPassword"

editText ViewGroupのAndroid Layout?

24
kablu
Android:inputType="textPassword"

上記の属性はパスワードを文字列として受け取ります。

Android:inputType="textVisiblePassword"

上記のものは、パスワードのテキストを表示します。

Android:inputType="numberPassword"

そして、これは数字のパスワードだけを取ります。

9

既に回答済みですが、パスワードの違いにさらに詳細を追加します InputType バリエーション:

  1. Android:inputType="textPassword"TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_PASSWORDに対応します。つまり、パスワードとして使用される文字列を入力できます(明示的に設定しない限り、非表示にしてオートコンプリートと提案を防止します)。これは、パスワードを入力するときに主に使用されます。
  2. Android:inputType="textVisiblePassword"TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_VISIBLE_PASSWORDに対応し、前のものと同じですが、パスワードは表示されます(明示的に設定しない限り、オートコンプリートと提案を防止するため、デフォルトとしてパスワードを表示できるように使用する場合に役立ちます)。パスワードを隠す方法もあります)
  3. Android:inputType="numberPassword"TYPE_CLASS_NUMBER | TYPE_NUMBER_VARIATION_PASSWORDと同じですがAndroid:inputType="textPassword"と同じですが、数値しか入力できません。これを使用するとパスワードはそれほど強力ではなくなるので、別のタイプのユーザー認証と一緒に使用しない限り、機密データを扱うときに使用することはお勧めしません。
  4. Android:inputType="textWebPassword"TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_WEB_PASSWORDに対応し、Android:inputType="textPassword"と同じ動作をしますが、Webフォーム、つまりブラウザーページ(ユーザーから入力を受け取る任意のWebフォームコントロール)内での使用を意図しています。したがって、これはEditTextネイティブコントロールでは使用されません。 disable AutoSuggestion from Android in the WebView by __wrapping the WebView and change EditorInfo input type to the add onCreateInputConnectionmethod内のInputType.TYPE_TEXT_VARIATION_WEB_PASSWORDをフラグします。

リンクから取得した最後の例として:

public class NoSuggestionsWebView extends WebView {
    ...

    @Override
    public InputConnection onCreateInputConnection(EditorInfo outAttrs)
    {
        InputConnection ic = super.onCreateInputConnection(outAttrs);

        outAttrs.inputType &= ~EditorInfo.TYPE_MASK_VARIATION; /* clear VARIATION type to be able to set new value */
        outAttrs.inputType |= InputType.TYPE_TEXT_VARIATION_WEB_PASSWORD; /* WEB_PASSWORD type will prevent form suggestions */

        return ic;
    }
}

私は今、違い、そして主にAndroid:inputType="textPassword"Android:inputType="textWebPassword"の違いが明確であることを願っています

8
fmaccaroni

From Android:inputTypeのドキュメント

textPassword
値:0x00000081
パスワードであるテキスト。に対応
TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_PASSWORD

textVisiblePassword
値:0x00000091
表示する必要があるパスワードであるテキスト。に対応
TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_VISIBLE_PASSWORD

textWebPassword
値:0x000000e1
Webフォームでパスワードとして使用されるテキスト。に対応
TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_WEB_PASSWORD

numberPassword
値:0x00000012
数値のパスワードフィールド。に対応
TYPE_CLASS_NUMBER | TYPE_NUMBER_VARIATION_PASSWORD

8
S.Thiongane