java - Web 浏览器在设备中显示为一条线

标签 java codenameone

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

@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();
}

关于java - Web 浏览器在设备中显示为一条线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42766528/

相关文章:

codenameone - Codename One 和 AntMedia 使用中 WebRTC 的当前支持情况

ios - 代号一个 iOS 选择器样式错误

java - CDI 构造函数注入(inject)不适用于 transient 不可序列化依赖项

c# - 本类(class)中使用的 OOP 概念

java - 如何限制客户端调用方法?

Codenameone:警报对话框消息

java - Push Notification 到 IOS issue CodeName One

codenameone - 如果有许多图像在某些设备中几乎无法使用,则滚动问题

Java操作系统进程队列

java - JavaFX8 标签中的颜色不匹配