在android中如果首先在xml中静态添加了一个控件,剩下的控件都是通过addView动态添加,那么如果有控件覆盖的情况(比如说使用FrameLayout或者RelativeLayout),先加入得控件就会被后加入得控件覆盖。
在View类中有这样一个方法 bringToFront ,它得注释如下:
/**
* Change the view's z order in the tree, so it's on top of other sibling
* views. This ordering change may affect layout, if the parent container
*

在Android开发中,动态添加的控件可能会覆盖XML中预先添加的控件。为解决此问题,可以使用View的bringToFront()方法,将指定控件置于其所有兄弟控件之上。在API 19(KitKat)之前,还需配合父视图的requestLayout()和invalidate()以确保布局更新。需要注意的是,必须在所有控件加载完毕后调用bringToFront(),以防止后来加载的控件覆盖已调整顺序的控件。
最低0.47元/天 解锁文章
1162

被折叠的 条评论
为什么被折叠?



