Android のソフト キーボードでは、 を使用して az キーボードの代わりに数字を表示するようにソフト キーボードを設定できますandroid:inputType="numberDecimal"
。1 2 3 4 5 6 7 8 9 0
ただし、先頭の番号行のみを表示し、次の で始まる行は表示したくない場合はどうすればよい@ # $ % ...
ですか?
聞いてくれてありがとう!
Android のソフト キーボードでは、 を使用して az キーボードの代わりに数字を表示するようにソフト キーボードを設定できますandroid:inputType="numberDecimal"
。1 2 3 4 5 6 7 8 9 0
ただし、先頭の番号行のみを表示し、次の で始まる行は表示したくない場合はどうすればよい@ # $ % ...
ですか?
聞いてくれてありがとう!
android:inputType="phone"
android:digits="1234567890"
オプションです
コードに次の行のみを追加する必要があります。
input.setRawInputType(Configuration.KEYBOARD_12KEY);
これにより、数字キーボードのみが表示されます。
電話番号パッドは、私が見つけた最も近いものです (あなたの に設定さinputType="phone"
れていますEditText
)。
ここに回答を投稿しましたが、簡単にするために再投稿しました:
私たちが求めていた機能が Android に追加されたようです。これは、単純な EditText 数値入力に使用する xml です。
android:inputType="numberPassword"
android:digits="0123456789"
android:singleLine="true"
android:ems="4"
android:textColor="@android:color/black"
android:gravity="center"
最後に調べたところ、Android には適切なオプションがありませんでした。結局、ソフト キーボードのようなユーザー インターフェイスの独自のバージョンを作成する必要がありました。
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();
}
}
コードから:
et.setInputType(InputType.TYPE_CLASS_NUMBER)