граница верхней и левой линии не отображается на Android 7.0 - PullRequest
0 голосов
/ 01 июня 2018

В моем cn1-проекте верхняя и левая границы строки для Label, Button и TextField не отображаются на устройстве Android 7.0.Симулятор показывает все границы правильно.Эта проблема может быть легко воспроизведена с помощью кода из SignatureComponentDemo в текущей версии 4.x cn1 для тем FlatXXXX, которые также используют границы линий вместо изображений границ.

Я создал новый FlatBlue «Get Started App»на Intellij Idea и заменил код для init (), start (), stop () и destroy () в MyApplication кодом из SignatureComponentDemo.TextField для имени в демо-версии корректно отображается с границей линии на симуляторе.У одного края Galaxy S7 с Android 7.0 верхняя и левая границы TextField отсутствуют.Добавление дополнительных отступов для этих компонентов не имеет никакого эффекта.Также отключение загрузки нативной темы путем установки false для NativeBool не имеет никакого эффекта.Единственный соответствующий код в следующем методе:

public void start() {
    if(current != null){
        current.show();
        return;
    }
    Form hi = new Form("Signature Component");
    hi.setLayout(new BoxLayout(BoxLayout.Y_AXIS));
    hi.add("Enter Your Name:");
    hi.add(new TextField());
    hi.add("Signature:");
    SignatureComponent sig = new SignatureComponent();
    sig.addActionListener((evt)-> {
        System.out.println("The signature was changed");
        Image img = sig.getSignatureImage();
        // Now we can do whatever we want with the image of this signature.
    });
    hi.addComponent(sig);
    hi.show();
}

Есть ли обходное решение для этой проблемы?Мне нужно построить таблицу компонентов, используя TableLayout.Класс таблицы не подходит, потому что мне нужно рисовать границы разного цвета и толщины, и я хотел применить их к Контейнерам и Компонентам в контейнере, используя TableLayout в качестве менеджера компоновки.

...