Java 代码名一个未占用全宽的文本区域

Java 代码名一个未占用全宽的文本区域,java,android,codenameone,Java,Android,Codenameone,似乎这是系统中的一个bug,但是为了我的错误,有些设置我没有输入 _reviewEnCustom.setFocusable(false); _reviewEnCustom.getStyle().setPadding(0, 0, 0, 0); _reviewEnCustom.getStyle().setMargin(0, 0, 0, 0); _reviewEnCustom.setGrowByContent(true); _reviewEnCustom.setShouldCalcPreferredS

似乎这是系统中的一个bug,但是为了我的错误,有些设置我没有输入

_reviewEnCustom.setFocusable(false);
_reviewEnCustom.getStyle().setPadding(0, 0, 0, 0);
_reviewEnCustom.getStyle().setMargin(0, 0, 0, 0);
_reviewEnCustom.setGrowByContent(true);
_reviewEnCustom.setShouldCalcPreferredSize(true);
_reviewEnCustom.setUIID("CafeDetailsDescription");
这是我的文本区域,但问题是它没有占据宽度,它在页面的1/3处短停,并打断成一个新行。 但是,当“可编辑”设置为true并尝试编辑时,宽度似乎是正确的

还有一条

最后,图像

我修改了代码,通过设置列号,从15到500,没有效果

TextArea _reviewEnCustom = new TextArea(1,100);
            _reviewEnCustom.setText(reviewen);
            _reviewEnCustom.setEditable(false);
            _reviewEnCustom.setFocusable(false);
            _reviewEnCustom.getUnselectedStyle().setPadding(0, 0, 0, 0);
            _reviewEnCustom.getUnselectedStyle().setMargin(0, 0, 0, 0);

            _reviewEnCustom.setGrowByContent(true);
            _reviewEnCustom.setUIID("CafeDetailsDescription");
            Container _reviewenContainer = new Container(_reviewenLayout);

            _reviewenContainer.addComponent(_constraint,_reviewEnCustom);
            _reviewenContainer.setUIID("CafeDetailsSubContainer");


            _detailsContainer.addComponent(lblTitle);
            _detailsContainer.addComponent(lblLocation);
            _detailsContainer.addComponent(_reviewenContainer);
仍然没有效果,使用列宽。我试图在讨论论坛上查看,没有任何帮助。下载并构建了最新的源代码,textarea宽度不会占用显示宽度

仅当我将其设置为“可编辑”并单击“编辑”时,宽度才会被使用。否则它会在屏幕的1/3处中断

有什么帮助吗?根据我的猜测,宽度是在TextArea类中设置的。但我希望我错了

大约两个月前,在外出旅行时,我们达成了一项协议 如果大小相同,字体将完全响应基础库 以毫米为单位,它们应该是嵌入字体,而不是位图字体

不要在Codenameone中使用位图字体!有一个非常简单的方法 嵌入字体


这与您指出的bug完全无关。您只需要为文本区域定义足够大的列计数

您对getStyle和setShouldCalcPreferredSize的使用也不正确。用户代码不应调用后者,应避免使用前者,应使用显式样式,例如getUnselectedStyle