【发布时间】:2018-10-21 14:55:12
【问题描述】:
读者注意:这个问题只针对代号一。
我的用例是有一个或多个带有按钮的水平滚动条。
我需要一个布局管理器:
- 将所有组件放在 X 轴上;
- 为每个组件指定其首选大小;
- 如果有足够的水平空间,它的作用与
BoxLayout(X_AXIS_NO_GROW)完全一样; - 如果没有足够的水平空间,它允许水平滚动查看所有组件;
- 在最后一种情况下,它会在左右两侧添加一个小箭头,表示可以滚动。
例如,以下代码生成以下屏幕截图:
Form hi = new Form("BoxLayout X scrolling", BoxLayout.y());
Container exampleCnt = new Container();
exampleCnt.setLayout(new BoxLayout(BoxLayout.X_AXIS_NO_GROW));
for (int i=0; i<=10; i++) {
int j = i; // for lambda expression
Button button = new Button("Button " + i);
button.addActionListener(l -> {Log.p("Button " + j + " tapped");});
exampleCnt.add(button);
}
hi.add(exampleCnt);
hi.show();
相反,我需要以下屏幕截图中的内容。我想用手指水平滚动按钮栏(exampleCnt)。该应用程序应该足够智能,不会将点击按钮与水平滑动以滚动按钮混淆:
【问题讨论】:
标签: codenameone