为了账号安全,请及时绑定邮箱和手机立即绑定

使图像与文字一样高

使图像与文字一样高

红糖糍粑 2022-06-30 10:31:17
我有一个Button带文本和一个ImageViewas 图标。图像可能具有任何分辨率。目前,按钮会调整其大小以适应图像,例如,如果图像是 400x400,则按钮会很大,而旁边的文本会很小。不过,我想要的是适合按钮的图像。它应该始终与文本一样高。ImageView img = new ImageView(image);button = new Button("Some text", img);button.setStyle("-fx-background-radius: 6em;");
查看完整描述

2 回答

?
侃侃无极

TA贡献2051条经验 获得超10个赞

没想到解决方案如此简单:


img.setPreserveRatio(true);

img.setFitHeight(button.getFont().getSize());

对我有用。JavaFX 有时非常不直观。如果字体大小可能发生变化(例如通过 CSS 样式),请改用绑定:


img.fitHeightProperty().bind(Bindings.createDoubleBinding(() -> button.getFont().getSize(), button.fontProperty()));

分享


查看完整回答
反对 回复 2022-06-30
?
慕村225694

TA贡献1880条经验 获得超4个赞

您可以通过以下方式设置图像高度

image_view.getLayoutParams().height = YOURHEIGHT

正如这里所讨论的。

我建议将您的文本大小设置为适当的值,并使用上述命令将图像缩放到相同的高度。

测试是否可以使用 调整图像大小em,否则使用cm/inch.

如果在设置高度时出现图像失真的问题,请参阅此线程


查看完整回答
反对 回复 2022-06-30
  • 2 回答
  • 0 关注
  • 149 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信