39

Android のソフト キーボードでは、 を使用して az キーボードの代わりに数字を表示するようにソフト キーボードを設定できますandroid:inputType="numberDecimal"1 2 3 4 5 6 7 8 9 0ただし、先頭の番号行のみを表示し、次の で始まる行は表示したくない場合はどうすればよい@ # $ % ...ですか?

聞いてくれてありがとう!

4

9 に答える 9

67
android:inputType="phone"
android:digits="1234567890"

オプションです

于 2010-07-28T21:11:29.857 に答える
42

コードに次の行のみを追加する必要があります。

input.setRawInputType(Configuration.KEYBOARD_12KEY);

これにより、数字キーボードのみが表示されます。

于 2012-10-28T17:50:46.843 に答える
11

電話番号パッドは、私が見つけた最も近いものです (あなたの に設定さinputType="phone"れていますEditText)。

于 2010-07-28T21:08:57.660 に答える
3

ここに回答を投稿しましたが、簡単にするために再投稿しました:

私たちが求めていた機能が Android に追加されたようです。これは、単純な EditText 数値入力に使用する xml です。

    android:inputType="numberPassword"
    android:digits="0123456789"
    android:singleLine="true"
    android:ems="4"
    android:textColor="@android:color/black"
    android:gravity="center"
于 2015-11-24T15:45:15.267 に答える
1

最後に調べたところ、Android には適切なオプションがありませんでした。結局、ソフト キーボードのようなユーザー インターフェイスの独自のバージョンを作成する必要がありました。

于 2010-07-28T21:05:07.190 に答える
0

Xamarin で Android 用にこれを実装しました。したがって、私のコードは C# です。でも校長は相変わらず。edittext の属性を に設定できますandroid:inputType="numberPassword"

次に、コード内でカスタム変換メソッドを edittext ビューにアタッチします。

holder.edtxtQty.TransformationMethod = new HiddenPasswordTransformationMethod();

private class HiddenPasswordTransformationMethod : global::Android.Text.Method.PasswordTransformationMethod
        {
            public override Java.Lang.ICharSequence GetTransformationFormatted(Java.Lang.ICharSequence source, View view)
            {
                return new PasswordCharSequence(source);
            }
        }

    private class PasswordCharSequence : Java.Lang.Object, Java.Lang.ICharSequence
    {
        private char DOT = '\u2022';

        private Java.Lang.ICharSequence _source;
        public PasswordCharSequence(Java.Lang.ICharSequence source)
        {
            _source = source;
        }

        public char CharAt(int index)
        {
            return _source.CharAt(index);
        }

        public int Length()
        {
            return _source.Length();
        }

        public Java.Lang.ICharSequence SubSequenceFormatted(int start, int end)
        {
            return _source.SubSequenceFormatted(start, end); // Return default
        }

        public IEnumerator<char> GetEnumerator()
        {
            return _source.GetEnumerator();
        }

        System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
        {
            return _source.GetEnumerator();
        }
    }
于 2016-01-17T23:55:31.093 に答える
0

コードから:

et.setInputType(InputType.TYPE_CLASS_NUMBER)
于 2020-12-08T08:45:23.840 に答える