Skip to content

Commit b638847

Browse files
committed
[FEATURE] add number-pad type to android
1 parent 7a1c618 commit b638847

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

Libraries/Components/TextInput/TextInput.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -244,6 +244,7 @@ const TextInput = createReactClass({
244244
*
245245
* - `default`
246246
* - `numeric`
247+
* - `number-pad`
247248
* - `email-address`
248249
* - `phone-pad`
249250
*
@@ -254,7 +255,6 @@ const TextInput = createReactClass({
254255
* - `ascii-capable`
255256
* - `numbers-and-punctuation`
256257
* - `url`
257-
* - `number-pad`
258258
* - `name-phone-pad`
259259
* - `decimal-pad`
260260
* - `twitter`
@@ -272,11 +272,11 @@ const TextInput = createReactClass({
272272
'email-address',
273273
'numeric',
274274
'phone-pad',
275+
'number-pad',
275276
// iOS-only
276277
'ascii-capable',
277278
'numbers-and-punctuation',
278279
'url',
279-
'number-pad',
280280
'name-phone-pad',
281281
'decimal-pad',
282282
'twitter',

ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java

+4
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ public class ReactTextInputManager extends BaseViewManager<ReactEditText, Layout
7171
private static final int INPUT_TYPE_KEYBOARD_NUMBERED =
7272
InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL |
7373
InputType.TYPE_NUMBER_FLAG_SIGNED;
74+
private static final int INPUT_TYPE_KEYBOARD_NUMBER_PAD = InputType.TYPE_CLASS_NUMBER;
7475
private static final int PASSWORD_VISIBILITY_FLAG = InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD &
7576
~InputType.TYPE_TEXT_VARIATION_PASSWORD;
7677
private static final int KEYBOARD_TYPE_FLAGS = INPUT_TYPE_KEYBOARD_NUMBERED |
@@ -80,6 +81,7 @@ public class ReactTextInputManager extends BaseViewManager<ReactEditText, Layout
8081

8182
private static final String KEYBOARD_TYPE_EMAIL_ADDRESS = "email-address";
8283
private static final String KEYBOARD_TYPE_NUMERIC = "numeric";
84+
private static final String KEYBOARD_TYPE_NUMBER_PAD = "number-pad";
8385
private static final String KEYBOARD_TYPE_PHONE_PAD = "phone-pad";
8486
private static final String KEYBOARD_TYPE_VISIBLE_PASSWORD = "visible-password";
8587
private static final InputFilter[] EMPTY_FILTERS = new InputFilter[0];
@@ -557,6 +559,8 @@ public void setKeyboardType(ReactEditText view, @Nullable String keyboardType) {
557559
int flagsToSet = InputType.TYPE_CLASS_TEXT;
558560
if (KEYBOARD_TYPE_NUMERIC.equalsIgnoreCase(keyboardType)) {
559561
flagsToSet = INPUT_TYPE_KEYBOARD_NUMBERED;
562+
} else if (KEYBOARD_TYPE_NUMBER_PAD.equalsIgnoreCase(keyboardType)) {
563+
flagsToSet = INPUT_TYPE_KEYBOARD_NUMBER_PAD;
560564
} else if (KEYBOARD_TYPE_EMAIL_ADDRESS.equalsIgnoreCase(keyboardType)) {
561565
flagsToSet = InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS | InputType.TYPE_CLASS_TEXT;
562566
} else if (KEYBOARD_TYPE_PHONE_PAD.equalsIgnoreCase(keyboardType)) {

0 commit comments

Comments
 (0)