带图像的按钮尺寸

时间:2015-11-26 10:12:44

标签: image button size codenameone

在我的应用程序中,我有两个相同类型的按钮实例(我创建了一个自己的类,其子类是Button,并设置了一个特定的UIID,还做了其他一些事情......)

其中一个被添加到BoxLayout Y中,它作为BorderLayout的中心添加。 BoxLayout中的另一个组件是位于按钮上方的标签。

另一个添加到GridLayout中,在另一个BorderLayout中添加为南。网格是1行3列(按钮是其中一列)。水平尺寸足够大,因此无需将其缩小以适合水平放置。

我的问题是这两个按钮的大小不同。第一个明显大于第二个。我怀疑第二个在这个过程的某个地方变小了,但我不明白为什么。我想让第一个按钮与另一个按钮的尺寸相同,或者相同的垂直尺寸(具有相应的水平尺寸)作为其上方的标签。

我试图使用按钮的setHeight和setPreferredHeight。结果是按钮实际上变小了,但没有上面的图像,所以图像被裁剪了。

我还尝试将setSameHeight与第一个按钮及其上方的标签一起使用,但结果只是标签变大了。

1 个答案:

答案 0 :(得分:1)

您遇到的问题是GridLayout容器。

GridLayout的作用是将Container分成3个相同的大小,并缩小任何列中的任何内容以适合其空间。

手上的TableLayout类似于GridLayout,只是它很灵活。它会自行调整以适应其中最大组件的大小。

将GridLayout更改为具有相同行数和列数的TableLayout,并且按钮将被修复。

我建议您在将第二个按钮放入TableLayout之前将其添加到BoxLayout容器中。