自定义控件的概念:Android中组件必须是View的直接子类或间接的子类,其中view有一个viewGroup的子类,用于定义容器,(FramenLayout,LinearLayout.....,都是ViewGroup的子类).
如果组件中还有子组件,就是从ViewGroup类继承,否则从view类继承,view类就相当于控件的上帝一样,只要你自定义控件,要么是view的直接子类,要么就是view的间接子类
View类定义组件相关的通用功能,只要是自定义控件一定会和view产生关系.所以view是我们开发者必须要详细理解的类.
自定义view的三种形式:
1.扩展式自定义view继承自Android原生特定的view.如TextView,ImageView等等,我们通过重写onDraw等回调方法进行扩展!其实我们想要的功能或者形式!
注意:该方法实现的自定义View需要自己支持w
如果组件中还有子组件,就是从ViewGroup类继承,否则从view类继承,view类就相当于控件的上帝一样,只要你自定义控件,要么是view的直接子类,要么就是view的间接子类
View类定义组件相关的通用功能,只要是自定义控件一定会和view产生关系.所以view是我们开发者必须要详细理解的类.
自定义view的三种形式:
1.扩展式自定义view继承自Android原生特定的view.如TextView,ImageView等等,我们通过重写onDraw等回调方法进行扩展!其实我们想要的功能或者形式!
注意:该方法实现的自定义view控件不需要自己支持wrap_content和padding.(因为继承的View已经实现了)
2.组合式自定义view继承自viewGroup其中的子View(LinearLayout,RelativityLayout,FramLayout....)当某种效果看起来像几种View组合在一起实现的时候,我们就可以用这种方法.
注意:该方法实现自定义View不需要自己处理ViewGroup的测量和布局这两个过程.
注意:该方法实现的自定义View需要自己支持w