Codename带图标的一个按钮 - 根据图标大小设置大小

时间:2017-11-21 11:18:33

标签: ios button icons codenameone

我有一个图标按钮,带有一个小方形图标。

该按钮嵌入在BoxLayout中。

有没有办法缩小按钮的大小,以便自动达到图标的确切大小?

我的意思是,我知道我可以更改按钮的大小编辑边距和填充,但是我想问我是否可以根据按钮中嵌入的图标的大小自动更改它。

1 个答案:

答案 0 :(得分:1)

Codename One中的

Layouts根据组件首选大小和它们自己的逻辑确定大小。 BoxLayout始终缩放组件以占据相对轴上的可用空间,这意味着Y框布局上的按钮将占用整个可用宽度。

所以:

Button b = ...;
boxYContainer.add(b);

按钮将占据整个宽度。

FlowLayout为组件提供了他们的首选大小,这对于确定性组件非常有用,而对其他组件则不那么好。如果内容可以根据文本重排更改首选大小,那么TextArea就不好了。

所以这样的事情会把按钮放在中间的首选尺寸中:

Button b = ...;
boxYContainer.add(FlowLayout.encloseCenter(b));

请注意,这是以下的简写语法:

Button b = ...;
Container flowLayoutContainer = new Container(new FlowLayout(Component.CENTER));
flowLayoutContainer.add(b);
boxYContainer.add(flowLayoutContainer);