android中MeasureSpec有什么用-创新互联

这篇文章给大家分享的是有关android中MeasureSpec有什么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

成都创新互联是一家集网站建设,焉耆企业网站建设,焉耆品牌网站建设,网站定制,焉耆网站建设报价,网络营销,网络优化,焉耆网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

在安卓View的measure过程中,measureSpec扮演着重要的作用。MeasureSpec是一个32位的int,前2位代表模式,其中00代表UNSPECIFIED,01代表EXACTLY,10代表ATMOST,后30位代表具体大小,例如1073741824模式为EXACTLY,大小为1080。

measurespec是什么意思

在ViewGroup中有一个getChildMeasureSpec方法用于根据父ViewGroup的MeasureSpec模式和子view的wrap_content、match_parent或xxdp确定子view的MeasureSpec模式,具体规则如下图,第二行是父view调用子view的measure函数测量的时候传递的参数,childSize是子view的大小(没错,是父view包办的婚姻,子view只是执行),parentSize是父view的剩余大小(表示子view的大小自己测,但是不要超出这个大小),0表示父view对子view没有任何约束,想多大就多大。

measurespec的方法

初次接触看到这两张图一定是云里雾里不知所云,这几种模式到底和xml布局文件中的wrap_content、match_parent有啥关系?我尽量清楚地解释一下转换的过程。在xml布局文件中有三种写法wrap_content、match_parent,xxdp,程序并不直接处理这些而是会对他们做转换,程序加载的时候会把这些参数读取到LayoutParams对象中保存起来,然后开始从根view遍历整棵view树,这里的根view并不是我们在xml文件中写的view,而是系统内置的DecorView,从DecorView到xml的view中间还有好多层,不过和主题关系不大就不展开说了,只需要知道xml布局中的上一层view的模式是EXACTLY就够了(毕竟屏幕大小是确定的),按上面的表格,如果我们的布局是match_parent则模式为EXACTLY,如果我们的布局是wrap_content则模式为AT_MOST。知道这个前提再根据上面的表格我们便可以很“轻松”地推断出所有的view是什么模式的,大小应该是多少。

感谢各位的阅读!关于“android中MeasureSpec有什么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!


网站标题:android中MeasureSpec有什么用-创新互联
分享链接:http://ybzwz.com/article/dcgchp.html