为什么要自定义view:需要实现一些特有的效果或者功能。例如TextView里的文字可以滑动等等。
然后确定该控件需要哪些 自定义属性,在attrs.xml中编写,然后在构造方法中 通过TypedArray去遍历获取并赋值给成员变量
重写 onMeasure方法,去决定该view需要多大的空间,根据三种定义大小的模式 AT_EXACTLY,AT_MOST,UNSEPIECETE
然后重写onDraw方法去绘制我们的view要显示的一个形态
如果自定义viewgroup,还要重写onLayout 决定子view放置的规则