自定义控件与include使用场景问题?

最近一直在研究Android的自定义控件。
例如自定义导航栏时,就可以:

  1. 首先定义一个navigation item,包含图片和文字
  2. 之后在主navigate view使用写包名的方式、设置每一个item属性,做命名空间之类。

这里就没有用到include布局。
其次,我看的这个教程以及尝试仿写一个公用顶部的(标题栏)布局:

Android开发-加载公用布局(如公用标题栏)中,这个也可以使用自定义控件的形式进行开发,但此处并没有这么做(使用typedarray结构和定义attrs属性进行设置),但里面:

  1. 使用了include布局
  2. Java文件并没有涉及更多的逻辑,仅仅是init就没了。

自定义控件中在什么场景下可以使用include?以及自定义控件?
这两个使用场景有重复么?
目前已知是include可以是在同一个布局中进行xml复用,在切换时相同的布局也同样进行切换,但是如果放在主要的view中,其他依附于此的布局就乱掉了。

目前的项目需求是,在主view中根据切换设置不同文字,尝试过上述教程,无法实现,目前正在“自定义控件”化使用typedarray结构和定义attrs属性进行设置,再写逻辑)

附上我的笔记链接:
语雀-她的湾-Android学习笔记-复合控件

阅读 3.8k
1 个回答
只要是ViewGroup,那么就可以包含include

如果自定义视图是ViewGroup而非简单View,那么就可以包含include

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题