天天看点

解决bringChildToFront/bringToFront不起作用的问题

有时候需要在FrameLayout中对子控件进行上下层的调整,我们大多数时候都是用来bringChildToFront、bringToFront这两个方法来实现。

然后在部分机型和部分系统中,bringChildToFront、bringToFront两个方法并不起作用,原因估计是显示缓存的一个bug,导致视图不能及时更新。为了解决这个问题,我们可以强制刷新布局来显示最新的视图。方法如下:

fatherLayout.bringChildToFront(childLayout);
fatherLayout.updateViewLayout(childLayout, childLayout.getLayoutParams());