今天公司有需求让受用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。那么这样就可以让布局自定填充桌面剩余的部分了。说了这么久。上个图。让大伙瞧瞧吧!!!