На некоторых планшетах (samsung galaxy tab A - Android 7.1.1) и смартфонах (Honor 6) невозможно прокрутить вниз / вверх список из 7 элементов, каждый из которых включает изображение и небольшой текст. В этом случае этот список остается в том же состоянии. Но есть возможность выбрать один из отображаемых пунктов. Этот список отображается в модальном окне.
Это прекрасно работает со многими другими устройствами. У вас есть представление об этой проблеме?
Спасибо
Stage stagePopUpMenuPrincipal = new Stage();
stagePopUpMenuPrincipal.setTitle("title of the product");
VBox popUpWindow = new VBox();
stagePopUpMenuPrincipal.initModality(Modality.APPLICATION_MODAL);
...
listeDesAvatars = new ListView<String>();
listeDesAvatars.setMinWidth(POPUP_WIDTH_BYDEFAULT / 2.5);
listeDesAvatars.setMinHeight(POPUP_HEIGHT_BYDEFAULT / 2);
for (String pseudo: User.listeDesPseudos){
listeDesAvatars.getItems().add(pseudo);
}
listeDesAvatars.getSelectionModel().setSelectionMode(SelectionMode.SINGLE);
int iSelect = 0;
for (User user : User.listeDesUsers) {
if (user.getPseudo().equals(GluonApplication.userCourant.getPseudo())){
break;
}
iSelect++;
}
listeDesAvatars.getSelectionModel().select(iSelect); // it allows to select all the line including the avatar
// Note that AvatarScoreCell method provides an item of the listview listeDesAvatars. Each item includes an image and some text.
listeDesAvatars.setCellFactory(new Callback<ListView<String>, ListCell<String>>() {
@Override
public ListCell<String> call(ListView<String> list) {
return new AvatarScoreCell();
}
});
avatarsListener = new ChangeListener(){
@Override
public void changed(ObservableValue obs, Object ov, Object nv){
for (User user : User.listeDesUsers) {
if (user.getPseudo().equals(nv)) {
GluonApplication.userCourant = user;
break;
}
}
}};
listeDesAvatars.getSelectionModel().selectedItemProperty().addListener(avatarsListener);
listeDesAvatars.setMinSize(POPUP_WIDTH_BYDEFAULT- 3*DELTA_POPUP, POPUP_HEIGHT_BYDEFAULT - 2*DELTA_POPUP);
...
HBox zoneChoixPseudo= new HBox();
zoneChoixPseudo.setAlignment(Pos.CENTER);
HBox.setMargin(zoneChoixPseudo, new Insets(TOP_ZONE, RIGHT_ZONE, BOTTOM_ZONE, LEFT_ZONE));
zoneChoixPseudo.getChildren().addAll(listeDesAvatars,otherData);
....
popUpWindow.getChildren().addAll(zoneTitle, zoneChoixPseudo, ...);
Scene sceneMenu = new Scene(popUpWindow, POPUP_WIDTH_BYDEFAULT + DELTA_POPUP, POPUP_HEIGHT_BYDEFAULT);
stagePopUpMenuPrincipal.setScene(sceneMenu);
stagePopUpMenuPrincipal.show();