自定义view2
2016-07-12 10:30:18 0 举报
自定义View2是一个功能强大的Android视图组件,它允许开发人员根据需要创建和定制自己的用户界面元素。通过继承View类并重写其方法,开发人员可以轻松地实现各种视觉效果和交互功能。自定义View2支持绘制形状、文本、图像等基本元素,还可以处理触摸事件、动画效果等高级功能。此外,自定义View2还具有高度的可扩展性,可以与其他Android组件无缝集成,为应用程序带来更好的用户体验。总之,自定义View2是Android开发中不可或缺的重要工具,它为开发人员提供了无限的可能性,帮助他们打造出独特且高效的应用界面。
作者其他创作
大纲/内容
以上是一个自定义View的默认实现,如果想按照我们的要求来进行绘制的话,重写onMeasure需要添加我们自己的逻辑去实现,最终在onMeasure方法中会调用setMeasureDimenSion决定我们的View的大小,这也是我们重写onMeasure方法的最终目的。
窗口的大小
得到的这个数据作为参数传给host(这里的host是View)measure方法
measure方法中调用了onMeasure方法
在onMeasure方法中直接调用setMeasuredDimension方法,在这里它会调用getSuggestedMinimumWidth方法得到的数据传递给getDefaultSize方法
lp.width和lp.height均为MATCH_PARENT其在mWindowAttributes(WindowManager.LayoutParams类型)将值赋予给lp时就已被确定
因为rootDimension==MATCH_PARENT
这个方法执行后不管是哪一种情况我们的根视图都是全屏的
ViewRootImpl
performTraversals( )
这样childWidthMeasureSpec和childHeightMeasureSpec这两个测量要求就一步一步的传下去并由当前View与其父容器共同决定其测量大小
host.measure也就是View的measure方法的源码
0 条评论
下一页