2017-01-23 58 views
0

我的項目如何抽象我想創建一個具有這種類型的若干項行: my custom view一組的意見

一旦我有了這個「基地」佈局/視圖設置我希望能夠到多次使用它來處理不同類型的操作,例如: A保存按鈕,文本爲「保存」,圖像爲星號或分享按鈕,文本爲「分享」,圖像爲分享圖標

所以最終我想抽象這個自定義視圖,讓我做到這一點。

我見過的一些事情是<include>,<merge>並創建一個自定義視圖類。

我對每一個這樣的想法是:

<include>:這並不真正讓我能夠自定義內置佈局的內容,只重用一些通用的XML

<merge>:同樣,這不提供自定義方面

自定義視圖類:我不寫一個視圖,執行默認情況下不提供的東西(如添加餅圖視圖或其他東西),而是我只是合併一組已經實現的視圖。我認爲這種方法可以解決我的問題,我只是不確定它是否正確。

在現實中,我知道,三個視圖是沒有太大的代碼每次使用它時重現,但我認爲這將是本組

+0

''標籤實際上可以定製。您可以設置自己的屬性,並在繪製「視圖」時使用它們。 [這裏](https://developer.android.com/training/custom-views/create-view.html)是細節 – Sunshinator

回答

0

創建您自己的類是最好的一個辦法弄清楚抽象有用。

class MyView extends View { 
    public MyView(Context context, AttributeSet attrs) { 
     super(context, attrs); 
    } 
} 

後來定義自定義屬性。

<resources> 
    <declare-styleable name="MyClass"> 
     <attr name="xxx" format="boolean" /> 
    </declare-styleable> 
</resources> 

請記住添加到您的項目中。

+0

爲什麼你說這是「最好的」方法來解決這個問題?還有其他可行的方法嗎? –