关于安卓中layout_weight属性的使用总是让很多开发者迷迷糊糊,编写的代码往往无法达到想要的效果。上网查了一些资料以后自己也写了个小DEMO后算是对layout_weight的属性有了个基本的掌握。下面就简单的介绍一下:
一、基本原理
首先layout_weight属性仅在LinearLayout适用,系统先将Layout中各个控件所占用的空间分配给各控件,屏幕上剩下的空间即为剩余空间。再根据各控件的layout_weight所占的比例将剩余空间分配给各控件。若剩余空间为负,则也按照比例计算在当前控件所占空间中减去相应的部分,这也正是当布局orientation方向上各控件宽度为fill_parent时,产生的控件所分配比例与layout_weight属性值相反的原因(当各控件都为fill_parent时,剩余空间必定为负,此时各控件所分配的剩余空间也都是负,所占比例小的减掉的面积小故最后剩下的面积也就相对较大)
二、使用技巧
1、当需要对控件进行平等分配的时候,可以用wrap_content和相同的weight值搭配使用,若使用fill_parent的话往往不能达到效果。
2、当需要实现一个控件填满屏幕剩余空间的时候,可将其宽度设置为0dp,并设置layout_weight为1,其他所有控件不设置weight属性(原理:系统先将其他控件所占用的空间分配好,由于只有需要填充的控件具有layout_weight属性,故剩余空间全部分配给它,也就实现了该控件填满屏幕剩余空间的目标)。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。