美文网首页
自定义view分类

自定义view分类

作者: 2015哈哈哈 | 来源:发表于2016-06-09 22:22 被阅读106次

    1.直接继承自View

    在使用该方式实现自定义View时通常的核心操作都在onDraw( )当中进行。但是,请注意,在分析measure部分源码的时候,我们提到如果直接继承自View在onMeasure( )中要处理view大小为wrap_content的情况,否则这种情况下的大小和match_parent一样。除此以为,还需要注意对于padding的处理。

    2.继承自系统已有的View

    比如常见的TextView,Button等等。如果采用该方式,我们只需要在系统控件的基础上做出一些调整和扩展即可,而且也不需要去自己支持wrap_content和padding。

    3.直接继承自ViewGroup

    如果使用该方式实现自定义View,请注意两个问题

    第一点:

    在onMeasure( )实现wrap_content的支持。这点和直接继承自View是一样的。

    第二点:

    在onMeasure( )和onLayout中需要处理自身的padding以及子View的margin

    4.继承自系统已有的ViewGroup

    比如LinearLayout,RelativeLayout等等。如果采用该方式,那么在3中提到的两个问题就不用再过多考虑了,简便了许多。

    来自谷哥的小弟http://blog.csdn.net/lfdfhl/article/details/51508727

    相关文章

      网友评论

          本文标题:自定义view分类

          本文链接:https://www.haomeiwen.com/subject/jocsdttx.html