我正在創建一個Android應用程序。我需要在多個UI類上覆蓋draw
方法來創建自定義外觀。這些類都是View
的子類。我想知道做這件事的最好方法是什麼。我希望儘可能地重用代碼,所以我正在尋求幫助來組織事物。正如我現在看到它,我有兩個選擇:Java設計模式:多個類的相同方法
選項1 - 類別一切
如果我想使用LinearLayout
,我創建CustomLinearLayout
。如果我想使用ImageView
,我創建了CustomImageView
。在這些自定義類中,我重寫draw
的方式完全相同。這看起來效率不高,因爲我重複代碼並擴展了幾乎幾乎沒有任何內容的類。
選擇2 - 子類超類
我最初的想法是延長View
創造CustomView
,因爲它已經是我所要使用的類的父類。但是,這不起作用,因爲我想要使用的所有現有子類仍在擴展View
而不是CustomView
。
有沒有更好的方式來做到這一點?我錯過了什麼嗎?
你到底想要達到什麼目的? – GraphicsMuncher
模式:創建界面。 –
我重寫了一些子類的繪製。然後,我抓取視圖的位圖並對其進行修改,以使質量下降。這個「問題」是我現在遇到的幾個問題,所以我想了解是否有更好的方法來組織我的項目。 – raydowe