自定义布局

三步:

1.atts.xml 定义自定义控件所需要的所有属性

2.控件代码实现:主要是取出att.xml中的属性对应到对应的控件上,并把单独的控件加入到viewGroup中,形成一个整体

图片代码简化了部分重复内容

3.布局的引用

通过包名+定义的控件名引用自定义的控件,通过xmlns指向报名(或者apk/res-auto)指向属性att.xml(类似JAVA代码import导包),custom 为导xml时自定义的关键字标识,然后在控件中通过custom引入自定义的属性,设置控件属性。

4.自定义控件内部的按钮点击响应:为保证通用,用接口回调来实现点击响应。调用topBar.setOnClickListener()时传入一个接口,接口中实现点击不同控件的响应逻辑。TopBar.java的setOnClickListener方法获取到传入进来的带有点击逻辑的接口实现,再在对应的按键onclick中调用对应的响应方法。实现了哪里引用控件,就在那里实现点击逻辑。


TopBar.java

5.其他动态控制控件的显示情况:在TopBar.java(自定义控件类)中定义一个方法,通过调用者传入的参数控制显示。


总结:定义属性--->属性对应到控件--->控件加入到viewgroup形成整体控件--->控件引用

你可能感兴趣的:(自定义布局)