我尝试将com.codename1.components.FloatingActionButton
与com.codename1.ui.TextArea
结合使用。
现在我有两个问题:
以下是演示它的代码:
public class FormFabOnText extends Form {
public FormFabOnText() {
setTitle("FormFabOnText");
setLayout(new BorderLayout());
Container contentPane = getContentPane();
contentPane.add(BorderLayout.NORTH, new SpanLabel(
"This form contains a TextArea and a FloatingActionButton combined by bindFabToContainer. "
+ "It demonstrates that the FloatingActionButton is not working in this constellation."));
TextArea textArea = new TextArea();
float iconDefaultSize = FloatingActionButton.getIconDefaultSize();
try {
FloatingActionButton.setIconDefaultSize(2.0f);
FloatingActionButton floatingActionButton = FloatingActionButton.createFAB(FontImage.MATERIAL_CLEAR);
Container containerFab = floatingActionButton.bindFabToContainer(textArea, Component.RIGHT, Component.CENTER);
floatingActionButton.addActionListener((e) -> textArea.setText(""));
contentPane.add(BorderLayout.CENTER, containerFab);
} finally {
FloatingActionButton.setIconDefaultSize(iconDefaultSize);
}
}
}
答案 0 :(得分:0)
文本区域的高度为0,因此当您向中心旋转时,按钮会正确放置在顶部。然后将其添加到边框布局中,该布局将其拉伸,但文本区域的首选大小确定了valign,因此它保持不变。
我不确定是否有一个好的解决方法,而不是像我们在msuikit demo中所做的那样。
编辑期间点击的问题可能与本机编辑对等点有关。点击文本区域内部会被发送到本机层进行编辑,否则下面的元素可能会导致问题。文本输入是同行,但也是一个非常特殊的情况。