ButtonBar:相同的按钮高度
ButtonBar: Same Button Height
我有一个应用程序,它有一个非常动态的按钮栏,大约有 1 到 12 个左右的按钮可以根据当前屏幕 and/or 选定的记录更改文本和功能。我正在使用 ButtonBar 来显示它们。
当文本太大时,栏中的按钮会自动换行,但我最终遇到了这种愚蠢的情况:
按钮的高度不同!我希望 ButtonBar 给我调整良好的按钮,如下所示:
我可以通过将每个按钮分成三行来作弊。这会造成小按钮在 space:
中游动的情况
(如果我使用两行,我会减少浪费space,这很好,但是单行文本不再居中,这看起来也很糟糕。)
现在,我唯一能想到的就是,在栏呈现后,扫描所有按钮以找到最高的按钮,然后相应地调整每个其他按钮。 ButtonBar 与宽度有关,这很好(但实际上可能不如所有按钮的高度相同)。具有误导性的名称“UniformButtonSize”就是这样做的。
我想知道我是否可以用 CSS 以某种方式做到这一点,也许可以将按钮高度设置为百分比。如有任何建议,我们将不胜感激!
这有点俗气,但似乎可以解决问题:
public void adjustButtons() {
var tallest = 0.0;
for (Node n : buttonBar.getButtons()) {
var ht = ((Button) n).getHeight();
if (tallest < ht) tallest = ht;
}
for (Node n : buttonBar.getButtons()) {
((Button) n).setMinHeight(tallest);
}
}
因此,每当按钮栏中的按钮发生变化时,您触发它,它会找到最高的按钮,然后将所有按钮设置为该高度。
评论?
我有一个应用程序,它有一个非常动态的按钮栏,大约有 1 到 12 个左右的按钮可以根据当前屏幕 and/or 选定的记录更改文本和功能。我正在使用 ButtonBar 来显示它们。
当文本太大时,栏中的按钮会自动换行,但我最终遇到了这种愚蠢的情况:
按钮的高度不同!我希望 ButtonBar 给我调整良好的按钮,如下所示:
我可以通过将每个按钮分成三行来作弊。这会造成小按钮在 space:
中游动的情况(如果我使用两行,我会减少浪费space,这很好,但是单行文本不再居中,这看起来也很糟糕。)
现在,我唯一能想到的就是,在栏呈现后,扫描所有按钮以找到最高的按钮,然后相应地调整每个其他按钮。 ButtonBar 与宽度有关,这很好(但实际上可能不如所有按钮的高度相同)。具有误导性的名称“UniformButtonSize”就是这样做的。
我想知道我是否可以用 CSS 以某种方式做到这一点,也许可以将按钮高度设置为百分比。如有任何建议,我们将不胜感激!
这有点俗气,但似乎可以解决问题:
public void adjustButtons() {
var tallest = 0.0;
for (Node n : buttonBar.getButtons()) {
var ht = ((Button) n).getHeight();
if (tallest < ht) tallest = ht;
}
for (Node n : buttonBar.getButtons()) {
((Button) n).setMinHeight(tallest);
}
}
因此,每当按钮栏中的按钮发生变化时,您触发它,它会找到最高的按钮,然后将所有按钮设置为该高度。
评论?