attrs看字面意思就是一組屬性的集合,那attrs有什麼用呢,在自定義view的時候,一般會自定義一些屬性,通過構造方法中attributeset引數的封裝,讓我們能夠獲取到為view配置的屬性。(自定義屬性)
1.定義對應的屬性
在values資料夾下新建乙個attar_custom.xml檔案:
<?xml version="1.0" encoding="utf-8"?>
format
="color|reference" />
format
表示這個屬性的值的型別,型別有以下幾種:
1.reference:引用資源
(參考某一資源id)
2.string:字串
3.color:顏色
4.dimension:尺寸值
5.fraction:百分數
6.enum:列舉型別
7.flag:位或運算
8. fraction:百分數。
(1)屬性定義:
[html] view plaincopyprint?
(2)屬性使用:
android:pivotx="200%"
android:pivoty="300%"
/>
9. enum:列舉值。
(1)屬性定義:
(2)屬性使用:
android:orientation="vertical" >
10. flag:位或運算。
(1)屬性定義:
(2)屬性使用:
android:windowsoftinputmode="stateunspecified
| stateunchanged | statehidden" >
注意:屬性定義時可以指定多種型別值:
(1)屬性定義:
[html] view plaincopyprint?
(2)屬性使用:
[html] view plaincopyprint?
android:layout_width="42dip"
android:layout_height="42dip"
android:background="@drawable/id|#00ff00" />
2.在自定義**裡寫
typedarray typedarray = context.obtainstyledattributes(attrs, r.styleable.
stroketextview);
int
outercolor
= a.get
color
(r.styleable.
stroketextview
_outercolor,
color.blue);
int
innnercolor
= a.get
color
(r.styleable.
stroketextview
_innnercolor,
color.
green);3
.在xml中定義自定義屬性
xmlns:android="
" xmlns:tools="
"xmlns:
=""通常我們在布局檔案中使用自定義屬性的時候
會這樣寫
<
com.example.demo.stroketextview
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world"
android:textsize="28sp"
:outercolor="#000000"
呼叫自定義屬性
呼叫自定義屬性
android:layout_centerinparent="true"/>
注意,自定義的xml屬性必須給自定義的控制項使用。
android自定義屬性attrs
1.定義attrs.xml 2.xml中使用自定義屬性 3.命名規則 方式一 命名空間寫法 xmlns 空間名 自定義元件所在包名 空間名隨便定義,引用時保持一致,如myandroid 方式二 命名空間寫法 xmlns 空間名 空間名隨便定義,引用時保持一致,如myandroid 區別 issue ...
安卓自定義屬性運用
1.reference 參考某一資源id。1 屬性定義 background format reference 2 屬性使用 android layout width 42dip android layout height 42dip android background drawable id 2...
自定義控制項attrs屬性介紹
首先要在values目錄下新建attrs的xml檔案,檔案裡面是這樣寫的 其中format的屬性值包括 reference,color,boolean,dimension,float,integer,string,fraction,enum等 1.reference reference是引用型別,就...