在Activity 的onCreate()方法中通常会调用setContentView来将一个布局传进去来显示界面,有的时候我们需要拿到这个View来动态的做一些界面处理,比如添加一个子View,这种情况下我们期望有一个与setContentView()对应方法getContentView(),但是通过查阅文档,并不能找到这样一个方法,那么这个View如何获取呢?
方法如下:
private View getContentView(){
ViewGroup view = (ViewGroup) getWindow().getDecorView();
FrameLayout content = (FrameLayout) view.getChildAt(0);
return content.getChildAt(0);
}
拿到这个View之后,就可以将返回的View强制转化成你所传入的布局文件中最外一层的View了。