Web 浏览器在设备中显示为一行

Web browser showing as a line in device

我尝试在代码中添加网络浏览器:

@Override
    protected void beforeMain(Form f) {

        final Container cont = new Container(new BorderLayout());
        String url = "https://www.google.com";

        WebBrowser web = new WebBrowser() {

            @Override
            public void onLoad(String url) {

                this.setShouldCalcPreferredSize(true);

                Display.getInstance().callSerially(new Runnable() {

                    public void run() {

                        cont.revalidate();

                    }
                });
            }

        };

        web.setURL(url);
        cont.addComponent(BorderLayout.CENTER, web);
        cont.revalidate();
        f.addComponent(cont);
}

在模拟器中工作正常,但在 Android 中设备显示单像素线...为什么?

谢谢

问题是因为您的表单布局是 FlowLayout。将表单布局更改为 BorderLayout 并将浏览器容器添加到 center

@Override
protected void beforeMain(Form f) {

    final Container cont = new Container(new BorderLayout());
    String url = "https://www.google.com";

    WebBrowser web = new WebBrowser() {

        @Override
        public void onLoad(String url) {

            this.setShouldCalcPreferredSize(true);

            Display.getInstance().callSerially(new Runnable() {

                public void run() {

                    cont.revalidate();

                }
            });
        }

    };

    web.setURL(url);
    cont.addComponent(BorderLayout.CENTER, web);
    f.setLayout(new BorderLayout());
    f.addComponent(BorderLayout.CENTER, cont);
    f.revalidate();
}