LoadingText Анимация требования к работе - PullRequest
1 голос
/ 08 февраля 2020

Я имею в виду примеры кода этого урока: https://www.codenameone.com/blog/data-loading-placeholders.html

В этих примерах используется BorderLayout, но пример LoadingTextAnimation не работает при использовании BoxLayout.y(). Я подозреваю, что проблема заключается в минимальной высоте Component, которая должна быть заменена анимированным заполнителем.

Например, следующий код не работает:

        Form f = new Form("Hello", BoxLayout.y());
        Label profileText = new Label();
        profileText.setText("placeholder");
        f.add(profileText);
        LoadingTextAnimation.markComponentLoading(profileText);
        f.show();

Но это отлично работает:

        Form f = new Form("Hello", BoxLayout.y());
        Label profileText = new Label(){
            public Dimension getPreferredSize() {
                Dimension dim = super.getPreferredSize();
                int mm = CN.convertToPixels(1);
                Log.p(dim.toString() + " -> width = " + (dim.getWidth() / mm) + " height = " + (dim.getHeight() / mm));
                dim.setHeight(CN.convertToPixels(10));
                Log.p(dim.toString() + " -> width = " + (dim.getWidth() / mm) + " height = " + (dim.getHeight() / mm));
                return dim;
            }
        };
        profileText.setText("placeholder");
        f.add(profileText);
        LoadingTextAnimation.markComponentLoading(profileText);
        f.show();

Играя с dim.setHeight(CN.convertToPixels(...));, я считаю, что минимальная высота должна быть около 10 мм. Это так? Если да, то почему? Или есть другие требования? Джавадо c ничего об этом не говорит.

Спасибо за любые объяснения.

1 Ответ

1 голос
/ 10 февраля 2020

Я внес некоторые изменения в LoadingTextAnimation, чтобы использовать размер шрифта и отступ для метки, которую он заменяет, и это, кажется, исправляет проблему. Коммит, который исправляет это https://github.com/codenameone/CodenameOne/commit/6e62fb8d267ec2630487cd4e09e3a0045644840f

...