In Android, to have the keyboard be numeric only, you only need to set the inputType
as number
. In Javafx, you must make sure you have the correct properties set, in this case,
System.setProperty("com.sun.javafx.isEmbedded", "true");
System.setProperty("com.sun.javafx.virtualKeyboard", "javafx");
and then you set textfield.getProperties().put("vkType", "numeric");
This is not working for me at all. I have tried to add it in Gradle
build, which did not work.
I have tried adding it in the init
method, as below.
@Override
public void init() {
System.setProperty("com.sun.javafx.isEmbedded", "true");
System.setProperty("com.sun.javafx.virtualKeyboard", "javafx");
addViewFactory(HOME_SCREEN_VIEW, () -> new HomeView().getView());
addViewFactory(STATION_LIST_VIEW, () -> new StationListView().getView());
addViewFactory(STATION_VIEW, () -> new StationView().getView());
addViewFactory(CHOOSE_FLIGHT_VIEW, () -> new ChooseFlightView().getView());
addViewFactory(SETTINGS_VIEW, () -> new SettingsView().getView());
addViewFactory(LOGIN_VIEW, () -> new LoginView().getView());
addViewFactory(EDIT_PREF_VIEW, () -> new EditingPrefView().getView());
addViewFactory(SPLASH_VIEW,() -> new SplashView().getView());
addViewFactory(OVERLOAD_VIEW, () -> new OverloadView().getView());
addViewFactory(ADDUSER_VIEW, () -> new AddUserView().getView());
}
It also did not work. I have looked into the .apk
and I found a javafx.platform.properties.
file, which has android.com.sun.javafx.isEmbedded=true
in it. If I change the properties to add in the android.
, it still does not work.
How can I make this work? I am using a normal JavaFx TextField
, not Gluon TextField
.
If at all possible, I would actually prefer to use the native Android numeric keyboard, but I haven't found any way to do that either.
Thanks for the help.
I am currently working on a Gluon Android app. My solution is not ideal but this is how I circled around it! I created a GridPane once the textfield was clicked. for example textField.setOnMouseClicked(event -> { numericKeypad(); });
and my numericKeypad method contains a gridpane with buttons (with numeric text on it) and styles of the gridpane and buttons. at the end of the method I used this view.setBottom(gridPane);
which sets the bottom to keyPad when you click on the textfield! and I after they are done editing I set view.setBottom(null);
so that it gives it the feeling of a keyboard popping from the bottom as a regular keyboard. As I said this is not ideal or what you are looking for exactly but I hope this helps!
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.