-
自定義屬性查看全部
-
context.obtainStyledAttribute(attr,R.styleable.Topbar);查看全部
-
androidUI模板設(shè)計(jì)查看全部
-
具體實(shí)現(xiàn)查看全部
-
監(jiān)聽(tīng)接口查看全部
-
添加控件到布局中查看全部
-
精髓所在,改需求就想改TEXTVIEW那樣改即可。查看全部
-
使用自定義屬性,需要在XML中聲明改屬性坐在的包(命名空間,xmlns:app="http://schemas.android.com/apk/res/com.example.topbar">) 應(yīng)用了屬性的構(gòu)造函數(shù)要用第二個(gè)。查看全部
-
添加到布局中查看全部
-
重寫(xiě)控件,滿足要求 1. 自定義一個(gè)Topbar類(lèi)View繼承自RelativeLayout 如果Topbar UI模板(View)需要自定義屬性,其構(gòu)造函數(shù)就要使用public Topbar(Context context, AttributeSet attrs) 2. 定義UI模板中的三個(gè)控件,聲明要使用的屬性 private Button leftButton, rightButton; private TextView tvTitle; 3. 給這些控件賦值,將屬性和控件關(guān)聯(lián)起來(lái)。在構(gòu)造函數(shù)獲得在xml中自定義的屬性,并把這些屬性值賦給這些控件 (1)通過(guò)TypeArray這個(gè)數(shù)據(jù)結(jié)構(gòu),來(lái)存儲(chǔ)從xml中獲取的自定義屬性的值 TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.Topbar); 其中obtainStyledAttributes(AttributeSet set, int[] attrs)第二個(gè)參數(shù)為xml定義的屬性集合,所以為R.styleable.Topbar 通過(guò)這種方法,把在xml自定義的屬性值映射到所定義的自定義屬性中去,然后返回TypeArray變量。 TypedArray類(lèi)似于Map鍵值對(duì),這個(gè)變量包含了所有屬性和值的映射。 (2)從TypedArray中獲取屬性值 leftTextColor = ta.getColor(R.styleable.Topbar_leftTextColor, 0); 這里是通過(guò)下劃線的方式連接Topbar自定義屬性和屬性的名字,得到一個(gè)引用名。后面0是默認(rèn)值。 通過(guò)這種方法就從TypedArray中取出所有的屬性值,并賦值給相應(yīng)的變量。 (3)實(shí)例化控件 leftButton = new Button(context); rightButton = new Button(context); tvTitle = new TextView(context); (4)將前面獲得屬性值賦給這些控件 leftButton.setTextColor(leftTextColor); leftButton.setBackground(leftBackground); leftButton.setText(leftText);查看全部
-
重寫(xiě)控件,滿足要求 1. 自定義一個(gè)Topbar類(lèi)View繼承自RelativeLayout 如果Topbar UI模板(View)需要自定義屬性,其構(gòu)造函數(shù)就要使用public Topbar(Context context, AttributeSet attrs) 2. 定義UI模板中的三個(gè)控件,聲明要使用的屬性 private Button leftButton, rightButton; private TextView tvTitle; 3. 給這些控件賦值,將屬性和控件關(guān)聯(lián)起來(lái)。在構(gòu)造函數(shù)獲得在xml中自定義的屬性,并把這些屬性值賦給這些控件 (1)通過(guò)TypeArray這個(gè)數(shù)據(jù)結(jié)構(gòu),來(lái)存儲(chǔ)從xml中獲取的自定義屬性的值 TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.Topbar); 其中obtainStyledAttributes(AttributeSet set, int[] attrs)第二個(gè)參數(shù)為xml定義的屬性集合,所以為R.styleable.Topbar 通過(guò)這種方法,把在xml自定義的屬性值映射到所定義的自定義屬性中去,然后返回TypeArray變量。 TypedArray類(lèi)似于Map鍵值對(duì),這個(gè)變量包含了所有屬性和值的映射。 (2)從TypedArray中獲取屬性值 leftTextColor = ta.getColor(R.styleable.Topbar_leftTextColor, 0); 這里是通過(guò)下劃線的方式連接Topbar自定義屬性和屬性的名字,得到一個(gè)引用名。后面0是默認(rèn)值。 通過(guò)這種方法就從TypedArray中取出所有的屬性值,并賦值給相應(yīng)的變量。 (3)實(shí)例化控件 leftButton = new Button(context); rightButton = new Button(context); tvTitle = new TextView(context); (4)將前面獲得屬性值賦給這些控件 leftButton.setTextColor(leftTextColor); leftButton.setBackground(leftBackground); leftButton.setText(leftText);查看全部
-
TypedArray.recycle(); 資源的回收、查看全部
-
系統(tǒng)怎么樣定義一個(gè)控件: 1.在atts.xml中定義組件屬性 2.重寫(xiě)控件,滿足要求 3.在xml中或是java代碼中使用控件查看全部
-
attrs.xml查看全部
-
界面引入查看全部
舉報(bào)
0/150
提交
取消