如何为DefaultOption自定义ExtendedDescription视图?

时间:2017-09-10 00:03:51

标签: gluon-mobile

如果我为ExtendedDescription设置了DefaultOption文字,则点击该选项会打开一个视图,其中文本显示在HBox中,并在那里居中。我想自定义文本所在的HBox区域:不仅将文本对齐到中心,为文本着色或者粗体/斜体部分,还可以添加一个小图像......

除了可能OptionEditor之外,我没有看到任何API来访问与自定义相关的任何内容,但是当我尝试调用editorFactoryProperty()时,可选项始终为空。我应该自己创建一个并设置它吗?这是什么过程?

1 个答案:

答案 0 :(得分:1)

目前还没有扩展视图的API。

如果使用ScenicView进行检查,可以看到视图节点已应用自定义样式类,因此您可以在运行时使用查找来获取BorderPane( id:extended-pane),顶部的HBox(ID:extended-top),中间的那个(ID:extended-center)及其Text child(styleClass:extended-text)。

Extended View

这样的事情应该有效:

viewProperty().addListener((obs, ov, nv) -> {
        if (nv != null && nv.getName().startsWith("Extended_View_Gender")) {
            BorderPane pane = (BorderPane) nv.lookup(".extended-pane");
            if (pane != null) {
                Text text = (Text) pane.lookup(".extended-text");
                text.setStyle("-fx-fill: red");
            }
        }
    });