关于layout_weight(权重问题)小议

来源:互联网 发布:龙门镖局不好看知乎 编辑:程序博客网 时间:2024/06/13 14:36

今天公司有需求让受用fragment搭建一个框架,因为之前对fragment的使用比较少。导致看到领导的这个需求,一头雾水。果断的复习了一下fragment。


  fragment使用的时候,我们需要对fragment进行replace(),也就是fragment的替换。看到api中有add()/ replace( ).两个方法,那么这两个方法的区别是什么呢?

 1.replace () 可以用来防止,fragment重叠问题。也就是说,fragmentA ---->fragmentB的跳转。但是如果使用add()方式,将fragemntBadd()到fragment中那么就会出现重叠的效果。这个不是我们想要的。当然这点我们也可以用在特定的需求上。比方说。titlebar 不变。那么可以使用这种方式,不 用替换titlebar;

 2 .如果不需要重叠的效果。我们就要使用replace()方法了。

 3.上面的问题还好解决,但是当我定义好了,导航栏。fragment用来替换的帧布局。按照给定的layout_weight不能进行屏幕自动填充了,那么这个问题困了我好久,之后看博客,查资料。最后解决的方式是。把relativelayout----linnerlayout 布局,fragment设置layout_weight=1。那么这样就可以让布局自定填充桌面剩余的部分了。说了这么久。上个图。让大伙瞧瞧吧!!!


0 0
原创粉丝点击