CodenameOne - 获取 TextViews 或 TextAreas 中的文本大小

问题描述

我的 codenameone 应用在布局中有一个 browserComponent(它是一个 WebView)。

它还具有其他组件,例如 TextFields。

我需要 browserComponent 中的文本与 TextFields 中的文本大小相同(认值)。

我使用 CSS font-size 属性在 HTML 中的 browserComponent 中设置文本大小。

我尝试使用此说明:

int size=textField.getStyle().getFont().getSize();

然后创建 HTML,在合适的标签定义中有这个字符串:

"style=\"font-size:"+String.valueOf(size)+"px;\"";

但结果是0。

是否有可能通过任何方法获得正确的数字?

解决方法

首先:您应该在 getFont() 之前使用 getUnselectedStyle() 而不是 getStyle()

getSize() 方法用于系统字体,如 the docs 中所述。您收到了 SIZE_MEDIUM 的回复,这不是您想要的。

在 getFont() 之后尝试 getHeight()getPixelSize()