今天碰到了在XML中应用以内部类形式定义的自定义view,结果遇到了一些坑。虽然通过看了一些前辈写的文章解决了这个问题,但是我看到的几篇都没有完整说清楚why,于是决定做这个总结。

使用自定义内部类view的规则

  本文主要是总结why,所以先把XML布局文件中引用内部类的自定义view的做法摆出来,有四点:

  1. 自定义的类必须是静态类

  2. 使用view作为XML文件中的tag,注意,v是小写字母,小写字母v,小写字母v;

  3. 添加class属性,注意,没有带android:命名空间的,表明该自定义view的完整路径,且外部类与内部类之间用美元“$”连接,而不是“.”,注意,要美元“$”,不要“.”;

  4. 自定义的view至少应该含有带有Context, AttributeSet这两个参数的构造函数

布局加载流程主要代码  

网友评论