TextArea上的FloatingActionButton无法按预期工作

时间:2017-01-11 11:10:42

标签: codenameone

我尝试将com.codename1.components.FloatingActionButtoncom.codename1.ui.TextArea结合使用。

现在我有两个问题:

  1. 显然,valign没有兑现 - 这是一个错误吗?
  2. 不调用FloatingActionButton的actionListener。我的用法有什么问题,还是个错误?
  3. 以下是演示它的代码:

    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);
            }
        }
    }
    

1 个答案:

答案 0 :(得分:0)

文本区域的高度为0,因此当您向中心旋转时,按钮会正确放置在顶部。然后将其添加到边框布局中,该布局将其拉伸,但文本区域的首选大小确定了valign,因此它保持不变。

我不确定是否有一个好的解决方法,而不是像我们在msuikit demo中所做的那样。

编辑期间点击的问题可能与本机编辑对等点有关。点击文本区域内部会被发送到本机层进行编辑,否则下面的元素可能会导致问题。文本输入是同行,但也是一个非常特殊的情况。