Gluon Mobile Scrollable下拉按钮

时间:2017-04-21 22:19:54

标签: gluon gluon-mobile

有没有办法让下拉按钮内容可滚动?我有很多菜单项将下拉列表扩展到设备屏幕之外。

try {
        DropdownButton merchantChooser = (DropdownButton) this.view.lookup("#review-merchant-chooser");
        VBox container = (VBox) this.view.lookup("#review-container");
        TextArea area = (TextArea) this.view.lookup("#review-text");
        StackPane sp = (StackPane) this.view.lookup("#review-wrapper");
        Button btn = (Button) this.view.lookup("#review-submit");

        Utility.setBackground(sp, Utility.bannerImg2);
        Utility.setFadedBackground(true, container);

        merchantChooser.getItems().clear();
        if (MainView.merchants.isInitialized()) {
            btn.setDisable(false);
            MenuItem firstItem = null;

            for (int i = 0; i < MainView.merchants.size(); i++) {
                Label label = new Label(MainView.merchants.get(i).getName());
                label.setWrapText(true);
                MenuItem item = new MenuItem(label.getText());

                merchantChooser.getItems().add(item);

                if(i == 0)
                    firstItem = item;
            }

            merchantChooser.setSelectedItem(firstItem);
            merchantChooser.setPrefWidth(200);
        }
        else
        {
            btn.setDisable(true);
        }

        btn.setOnMouseClicked(e -> {
            //ENTER BACKEND POST HERE TO SEND REVIEW TO DATABASE!!
        });

    } catch (NullPointerException nex) {
        System.out.println("Null pointer at AddReviewView");
    } catch (Exception ex) {
        System.out.println("Other exception in discount view");
        System.out.println(ex.getMessage());
    }

1 个答案:

答案 0 :(得分:2)

如果你有很多项目,那么Constrains可能不是这项工作的最佳控制。它没有提供使其可滚动的方法。

您可以查看其他选项,例如DropdownButton control

此控件允许自定义内容,因此您可以添加PopupView ScrollPane,其中包含所有项目。而不是VBox控件,您可以使用常规MenuItem控件。

这是一个快速实现,但它的样式也是Button

DropdownButton