Я пытаюсь перезагрузить картинки GIF в Vaadin. GIF-изображения - это GIF-изображения с 1 итерацией, что означает, что они проходят от начала до конца только один раз.
Проблема, с которой я столкнулся, заключается в том, что в представлении рабочего стола устранение можно перезагрузить, обновив изображение GIF. Изображение GIF «перезагрузится» и выполнит анимацию.
Но в мобильном представлении изображение в формате GIF вообще не будет «перезагружено». Изображение GIF начнется в конце, как и прежде.
Это способ решить эту проблему в Vaadin 14?
У меня есть пример кода здесь. Этот код показывает две картинки GIF. На этом идет от начала до конца, и то, которое идет от конца до начала , если я нажимаю кнопку START или STOP.
В мобильном представлении изображения GIF запускаются только один раз, затем они работают как неподвижные изображения. Почему?
@PostConstruct
private void init() {
addToNavbar(top.getDrawerToge(), top.getBarImage());
addToDrawer(top.getTabs());
// Test
VerticalLayout content = new VerticalLayout();
//content.setClassName("stekpanna_png");
Button button = new Button(START);
button.setClassName("startStop");
button.addClickListener(e -> {
if(button.getText().equals(START)) {
//content.setClassName("stekpanna_gif");
// Begin to delete the pictures first
if(img_in != null)
content.remove(img_in);
// Then add them again
img_out = new Image("/img/Cylinder_OUT.gif", "Ut");
content.add(img_out);
// Set CSS
img_out.setClassName("height_img");
// Change the button name
button.setText(STOP);
}else {
// Begin to delete the pictures first
if(img_out != null)
content.remove(img_out);
// Then add them again
img_in = new Image("/img/Cylinder_IN.gif", "In");
content.add(img_in);
// Set CSS
img_in.setClassName("height_img");
// Change the button name
button.setText(START);
}
});
content.add(button);
setContent(content);
}
private MainView() {}