如何显示气泡提示?

时间:2019-07-01 11:10:34

标签: codenameone

我注意到InteractionDialog类应该可用作气泡帮助,并尝试了以下方法:

    Form hi = new Form("Hi World", BoxLayout.y());
    hi.add(new Label("Hi World"));
    Command commandDummy = new Command("Dummy");
    hi.getToolbar().addCommandToRightBar(commandDummy);
    CN.callSerially(() -> {
        InteractionDialog interactionDialog = new InteractionDialog("hint");
        interactionDialog.add(new Label("this is supposed to be a hint"));
        interactionDialog.showPopupDialog(hi.getToolbar().findCommandComponent(commandDummy));
    });
    hi.show();

但这并不能令人满意,因为气泡并没有真正指向组件。而且气泡并不总是显示出来。

InteractionDialog是显示气泡帮助的正确工具吗?可以配置为适用于所有皮肤吗?为什么气泡指针没有真正指向应该指向的位置-“虚拟”组件?

以下是屏幕截图:

Simulator Desktop Skin

Simulator iPhone 5c Skin

Simulator Nexus 5X Skin

1 个答案:

答案 0 :(得分:0)

InteractionDialog很好,但是仅限于ContentPane的区域。主要问题是此问题中说明的箭头边框:https://github.com/codenameone/CodenameOne/issues/2689

当前,iOS具有硬编码的受限箭头边框实现,该实现不允许我们将箭头放置在所需的任何位置。而且,它仅是iOS主题的功能。您可以为自己的主题在PopupDialog中添加样式,其他主题也可以得到类似的结果。