自定义控件流程

      看慕课网的视频,整理了自定义控件的流程,从自定义属性、测量、布局、绘制、手势事件、事件拦截等多个步骤。

      1.自定义属性的声明与获取

      分析需要的自定义属性,在res/values/attrs.xml定义声明,在layout xml文件中进行使用,在view的构造方法中获取。

       2.测量

       3种测量模式:exactly、at_most、unspecificed

       3.布局

        决定子view的位置,尽可能将onmeasure中一些方法移动到此方法中,

        4.绘制onDraw

         绘制之线程:ui线程中更新界面用invalidate方法,子线程中更新用postinvalidate方法。

        Canvas.draw****,draw多种方法,圆 三角形 贝塞尔函数等,比较多,需要研究

        Canvas几种动画,translater 、rotate、scale、skew也会用到

        paint,该类保存了绘制几何图形、文本和位图的样式和颜色信息。也就是说我们可以使用Paint保存的样式和颜色,来绘制图形、文本和bitmap,这就是Paint的强大之处。

         save方法用于临时保存画布坐标系统的状态

         restore方法可以用来恢复save之后设置的状态,

        5.ontouchevent

        触摸事件处理,手势事件监听,包括move、up、down多种事件。

       6.onintercepttouchevent

        事件拦截,包括父控件拦截子控件事件,子控件要求父控件拦截事件等方法。

   

       

       

    

猜你喜欢

转载自blog.csdn.net/qq_30632063/article/details/86139866