Почему картинки GIF не перезагружаются в Vaadin? - PullRequest
0 голосов
/ 20 апреля 2020

Я пытаюсь перезагрузить картинки 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() {}
...