是否有一种动态方法可以获取当前设置为我的活动的 XML 中的根布局(所有其他布局的父布局)?
我所追求的是而不是给我的根布局一个明确的 id 并通过 findViewById 找到它,我希望得到一些类似的东西
伪代码:
this.findTopLayout();
已经打过电话setContentView(R.layout.foo);
我在规范中没有看到任何可以解决问题的东西,我只是错过了它,还是没有办法做到这一点?
您尝试这种方式来获取根布局:
getWindow().getDecorView().findViewById(android.R.id.content);
或者
getWindow().getDecorView().getRootView();
请注意,除了 Grishu 描述的方法之外,您还可以在任何视图(包括按钮、图像视图、布局等)上使用getParent方法来获取该视图的父视图(返回的父视图也可能有父视图)。因此,另一种方法是从特定视图循环 getParent,直到 getParent 返回 null。那时,您将找到内容视图的根视图。