2013-07-19 28 views
0

我使用代碼構建了Container,現在我想使用資源編輯器中的一個UnselectedStyle設置Style從資源編輯器導入的LWUIT容器樣式

我這樣做是因爲我找不到向我的Container添加LinearBackground顏色和RoundBorder的方式。當我把這兩個屬性設置爲Style時,背景顏色消失了。

所以我最後用UIManager.getInstance().addThemeProps(String name ThemeFromResource);和後來的setUIID(String nameStyle)加了這個Style。工作正常...我的Container得到Style,但該應用程序失去導航,回Command已經走了。

這怎麼辦?我想用我的第一個方法來做...創建lineargradient和邊框並將其添加到樣式中,但我沒有找到方法。

回答

1

我強烈建議不要這樣做。

邊界的覆蓋其他形式的背景,圓形邊界試圖尊重其中的一些,但真的是效率低下。它有效地在可變圖像上繪製背景,然後在另一個可變圖像上繪製圓形邊框,爲兩者獲取RGB並執行NOT操作以將背景裁剪爲圓形圖像。這個(正如你可能理解的)在性能方面是非常昂貴的,而圖像然後被緩存起來,從長遠來看它仍然是昂貴的。

您應該使用速度更快的圖像邊框。

+0

謝謝你回答Shai,我永遠不會想象使用圖像邊框可能會比使用樣式屬性構建背景更快。 – Mun0n

+0

它更強調我如何? CodeWunner一個項目的一部分,在LWUIT中,我們只有JavaDocs中隱藏了這個事實。 –

+0

是的,我已經建立這個imageBorders,它工作正常,但我有同樣的問題,我已經在問題中說過,如何添加此樣式而不會丟失我的應用程序的導航?如果我使用addThemeProps,則會丟失應用程序導航,如果我使用setThemeProps,則會失去諾基亞樣式。 – Mun0n

相關問題