В Android, чтобы клавиатура была только числовой, вам нужно только установить inputType
как number
.В Javafx вы должны убедиться, что у вас установлены правильные свойства, в данном случае
System.setProperty("com.sun.javafx.isEmbedded", "true");
System.setProperty("com.sun.javafx.virtualKeyboard", "javafx");
, а затем вы установили textfield.getProperties().put("vkType", "numeric");
Это вообще не работает для меня.Я попытался добавить его в Gradle
сборку, которая не работала.
Я попытался добавить его в метод init
, как показано ниже.
@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());
}
Это также сделалоне работа.Я заглянул в .apk
и нашел файл javafx.platform.properties.
, в котором есть android.com.sun.javafx.isEmbedded=true
.Если я изменю свойства, добавляемые в android.
, он все равно не будет работать.
Как я могу заставить эту работу работать?Я использую обычный JavaFx TextField
, а не Gluon TextField
.
Если это вообще возможно, я бы на самом деле предпочел бы использовать встроенную цифровую клавиатуру Android, но я также не нашел никакого способа сделать это.
Спасибо за помощь.