If by design your PowerApps app is not supposed to have any text input but numbers then it might be a good idea to “disable” a native phone keyboard and add buttons as an on-screen numeric pad.
The only downsides of this method are a bit of additional code and taking screen estate. However, it creates a smooth and consistent user experience.
To disable the keyboard all text input fields should have DisplayMode set to:
DisplayMode.Disabled
A rough preview:
The OnSelect code for each numeric button would be (example for button “1”):
UpdateContext({varTicketInput: varTicketInput & "1"})
TextInput1 Default value must be set to:
varTicketInput
X button (to start over) OnSelect code:
UpdateContext({varTicketInput: ""})
OK button OnSelect code:
Set( TicketNum, TextInput1.Text )
That TicketNum global variable can be used later on any screen.
NICE TO HAVE
To make your app even better I would recommend disabling some buttons at certain conditions:
- X button is disabled when there is no input yet
- OK button is disabled when there is no input yet
- 0 (zero) button is disabled when there is no input yet
- also let’s limit the length of the input to 5 digits.
DisplayMode code for X button, OK button, “0” button:
If( varTicketInput = "", DisplayMode.Disabled, DisplayMode.Edit )