我正在創建具有可變大小的自定義Codenameone組件。該組件顯示固定數量的文本,跨越多行。因此寬度和高度是相關的。如果寬度較小,則文本適合一行,並且需要更多行。我已設法設置首選寬度和首選高度。麻煩的是,當實際的繪畫發生時,寬度顯然是由圖形對象graphics.getClipWidth()
給出的,並且不符合我的首選寬度。因此,我的首選高度(在繪畫時看起來等於graphics.getClipHeight()
)不正確,因爲剪輯寬度不等於我的首選寬度,該寬度用於計算首選高度。我怎樣才能得到graphics.getClipHeight()
有正確的身高?換句話說,是否可以使用組件在渲染時實際具有的寬度來指定組件的高度?根據實際的Codenameone的組件寬度計算首選高度
祝 馬克ķ
感謝您的快速回復。根據getWidth()是否被設置(即返回一個不等於0的值),getPreferredH()會返回不同的值嗎?它似乎在BoxLayout-Y中工作。另一種方法是使用屏幕寬度來估計高度 - 聽起來很脆弱。 –
這不是正確的工作方式。你通常應該重載calcPreferredSize(),在這種情況下,它應該返回不同的值。 –
好吧,我會嘗試一下。 –