最近写了一个需求,点击Dialog确定按钮,在弹出一个提示框或者是一个布局,因为显示的布局不是在Activity中创建,需要获得根布局将需要显示的布局添加上面显示出来,在写的时候遇到一个问题,自己定义的布局怎么都添加到布局里面,查看文档得知获取的根布局问题
刚开始这样写
private static View getRootView(context){
return ((ViewGroup)context.findViewById(android.R.id.content)).getChildAt(0);}
后来改成这样就可以了.
private static View getRootView(Context context) { Activity activity = (Activity) context; return activity.getWindow().getDecorView().findViewById(android.R.id.content); }
本文介绍了一种在非Activity环境下获取并使用根布局的方法,解决了自定义布局无法正确添加的问题。通过对比两种不同的实现方式,详细解释了如何通过Activity的Window获取正确的根布局。

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



