Nie mogę znaleźć sposobu na utworzenie pola wejściowego we Flutterze, które otworzyłoby klawiaturę numeryczną. Czy jest to możliwe dzięki widżetom materiałów Flutter? Niektóre dyskusje na githubie wydają się wskazywać, że jest to obsługiwana funkcja, ale nie mogę znaleźć żadnej dokumentacji na jej temat.
128
Odpowiedzi:
Możesz określić liczbę jako typ_klawiatury dla pola tekstowego, używając:
Sprawdź mój plik main.dart
źródło
Dla tych, którzy chcą tworzyć
TextField
lubTextFormField
akceptować tylko liczby jako dane wejściowe, wypróbuj ten blok kodu:źródło
Dzięki tej opcji możesz ściśle ograniczyć możliwość innego znaku bez numeru.
Aby skorzystać z powyższej opcji, musisz to zaimportować
używając tego rodzaju opcji użytkownik nie może wkleić znaku w pole tekstowe
źródło
Ustaw klawiaturę i walidator
źródło
num
zmiennej nie działa. Nazwa musi zostać zmienionaDla tych, którzy muszą pracować z formatem pieniędzy w polach tekstowych:
Używać tylko :, (przecinek) i. (Kropka)
i zablokuj symbol: - (łącznik, minus lub myślnik)
a także: ⌴ (spacja)
W swoim TextField po prostu ustaw następujący kod:
Łącznik symboli i spacja nadal będą pojawiać się na klawiaturze, ale zostaną zablokowane.
źródło
Możesz użyć tych dwóch atrybutów razem z TextFormField
Pozwala na umieszczanie tylko liczb, nic więcej ...
https://api.flutter.dev/flutter/services/TextInputFormatter-class.html
źródło
Możesz łatwo zmienić typ wejścia za pomocą parametru keyboardType i masz wiele możliwości sprawdź dokumentację TextInputType, aby móc użyć numeru lub wartości telefonu
źródło
Możesz spróbować tego:
źródło
keyboardType: TextInputType.number
otworzyłby klawiaturę numeryczną pod fokusem, wyczyściłbym pole tekstowe, gdy użytkownik wpisze / przejdzie cokolwiek innego.źródło
Oto kod dla rzeczywistej klawiatury telefonu na Androida:
Kluczowa część:
keyboardType: TextInputType.phone,
źródło
Oto kod dla klawiatury numerycznej: keyboardType: TextInputType.phone Po dodaniu tego kodu w polu tekstowym otworzy się klawiatura numeryczna.
źródło
Do wprowadzania liczb lub klawiatury numerycznej możesz użyć keyboardType: TextInputType.number
źródło