我有一个Button
带有文字和一个ImageView
作为图标。图像可能具有任何分辨率。当前,按钮将调整其大小以适合图像,例如如果图片的尺寸为400x400,则其旁边的按钮将很大,文本很小。
我想要的是图像适合按钮。它应该始终与文字一样高。
ImageView img = new ImageView(image);
button = new Button("Some text", img);
button.setStyle("-fx-background-radius: 6em;");
答案 0 :(得分:1)
会不会想到解决方案如此简单:
m_value
对我有用。 JavaFX有时候很奇怪。如果字体大小可能会发生变化(例如通过CSS样式),请改用绑定:
img.setPreserveRatio(true);
img.setFitHeight(button.getFont().getSize());
答案 1 :(得分:0)
您可以通过设置图像高度
image_view.getLayoutParams().height = YOURHEIGHT
如here所述。
我建议将文本大小设置为适当的值,并使用上述命令将图像缩放到相同的高度。
测试是否可以使用em
调整图像大小,否则使用cm/inch
。
如果在设置高度时图像变形有问题,请参阅this thread。