代号一中html文本的显示非常小



我正在使用浏览器组件在我的应用程序中显示HTML文本。 以前一切正常,但在最近的版本中,浏览器组件中显示的字体非常小。它在模拟器上工作正常,但在设备上它看起来非常小。这是我的测试用例,并在iPhone XS,iPhone 7和iPad上进行了测试。

Form f= new Form();
f.setLayout(new BorderLayout());
BrowserComponent browser = new BrowserComponent();
Container cont = new Container();
cont.setLayout(new BorderLayout());
cont.addComponent(BorderLayout.CENTER, browser);
String data = "<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>Test</title><meta http-equiv="Content-Type" content="text/html;charset=utf-8" /></head><body><p>Hello World</p></body></html>";
browser.setPage(data, "");
cont.setPreferredH(com.codename1.ui.Display.getInstance().getDisplayHeight()/2);
browser.setPreferredH(com.codename1.ui.Display.getInstance().getDisplayHeight()/2);
f.addComponent(BorderLayout.CENTER,browser);
f.show();

让我知道更改了什么以及如何增加字体的大小。 谢谢

我在Shai的答案中添加了一个关于字体大小的信息。 尝试添加以下元标记:

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="MobileOptimized" content="width" />
<meta name="HandheldFriendly" content="true" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="cleartype" content="on" />

希望这些元标记可以修复真实设备上的字体大小。在网页中使用的CSS中,我建议使用em作为单位来指定字体大小,因为它对移动设备友好(独立于屏幕设备的dpi(。

附录:为了不混淆,虽然em对于网页(BrowserComponent内(中使用的CSS很好,但在代号One CSSes用于设置组件样式中,最好使用mmpt作为独立于DPI的单元。

Apple 开始向所有使用UIWebView的人发送警告电子邮件,因此我们将开关切换为使用WKWebView。这是我们不久前在这里写的:https://www.codenameone.com/blog/wkwebview.html

您通常不应该切换回来,但您应该向 HTML 添加样式表以明确确定字体大小。这是在所有场合都这样做的正确方法。

最新更新