天天看點

Android 自定義 declare-styleable 的format

類型描述            

​字段名稱           

定義方式舉例            

調用方式舉例            

資源ID

reference

顔色

color

布爾值

boolean

尺寸值

dimension

浮點值

float

整數型

integer

字元串

string

百分比

fraction

枚舉類型

enum

位或運算

flag

附加:自定義xml屬性步驟

declare-styleable:自定義屬性塊辨別

accItem:自定義屬性塊的名稱,在代碼擷取xml屬性的時候會使用到

<attr>:一項自定義屬性的辨別塊,其中name為屬性名稱,format為屬性格式,參考起始表

    在xml定義xmlns,舉例示意:     

代碼第二行即為我們自定義的xmlns,有三點需要注意:1、xmlns為定義xmlns辨別,不可改變;2、app(xmlns:app)為引用辨別,使用者可自行改變,使用xml布局時,使用該辨別可指定屬性,如“app.acctitle =

"demo"”;3、package是可變參數,必須于工程項目的包名相同,即"AndroidManifest.xml"中的package     

   布局檔案中使用自定義控件的時候,和嵌入普通布局一樣,引用屬性時,使用上一步定義的xmlns加第一步時定義的attr->name直接使用。舉例說明:

第一行:R.styleable.accItem,其中accItem為在資源檔案中定義的declare-styleable代碼塊的name屬性使用TypedArray 擷取自定義屬性

第二行:R.styleable.accItem_accleftimg,其中accItem_accleftimg為[declare-styleable][name]->[attr][name]屬性

第三行:執行完畢後,需要調用recycle來釋放元素

繼續閱讀