我尝试在代码中添加网络浏览器:
@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设备中显示单像素线...为什么?
感谢
答案 0 :(得分:2)
问题是因为您的表单布局是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();
}