在用戶組件中使用自定義標簽

 Android允許我們自定義視圖組件。在自定義組件中,我們可以按照自身的需要來佈局組件的顯示內容。然而有時有些參數需要外部來指定,比如自定義一個特殊的文本顯示控件,那麼我們就需要外部來指定顯示的文本內容。

         Android自身的組件都可以在佈局文件中,通過標簽對其進行設置,那麼可不可以為自定義組件設置自定義的標簽,通過在佈局文件中使用標簽的方式來設置參數內容呢?答案是可以的,本文將討論如何為自定義組件添加自己的標簽。

         如果我們想使用自定義的標簽,首先我們需要聲明自定義標簽,自定義標簽的聲明放在values文件夾下的attrs.xml文件中。如果你的項目中沒有該文件,直接新建一個資源文件即可.然後,我們就可以在attrs.xml中對標簽進行聲明瞭。聲明的方式如下:

 

 

在資源文件中添加declare-styleable節點,用來定義組件的屬性標簽, name為該屬性組的引用名稱.具體的屬性由attr節點指定,attr節點中name為屬性名稱、format為屬性類型.自定義屬性標簽支持interger、float、color、string、dimension、enum、boolean等類型.

         定義為完屬性標簽後,我們便可以在自定義組件中通過這些屬性標簽來獲取用戶設置的屬性值瞭.獲取屬性值的方法如下:

 

 

那麼用戶如何在佈局文件中通過這些屬性標簽來指定對應屬性值呢?如下顯示瞭如何指定自定義標簽的屬性值:

 

 

org.simple.MyTextView為自定義組件,在該組件中聲明瞭用戶自定義標簽的屬性值,包括align、bold、strikeThru等,需要註意的是聲明的標簽前使用瞭simple開頭,使用simple開頭的原因是,我們在LinearLayout中定義瞭simple域,見上圖中紅色長方形內的內容.在../apk/res後使用瞭org.simple,org.simple為AndroidManifest.xml聲明的包名,見AndroidManifest.xml:

 

  至此自定義標簽使用完畢,讓我們看看運行效果吧:

摘自 北京大學-Google Android實驗室

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。