我需要在 Activity 中获取视图,并在所有手机和 API 版本上以相同的方式获取它们。这是我的做法:
private void walkTroughViews(ViewGroup group)
{
for (int i=0; i<group.getChildCount(); i++)
{
View view = group.getChildAt(i);
if (something)
{
//Do something
}
if (view instanceof ViewGroup)
{
ViewGroup viewGroup = (ViewGroup) view;
walkTroughViews(viewGroup);
}
}
}
但是根据 API 级别或手机型号,结果会有所不同(尚不确定) 似乎在 4.2 上有一个 LinearLayout,而在 >4.0 上有一个不在 4.1 或 4.1 上的框架布局。为什么会这样?如何才能在所有手机上获得相同的 Activity 布局?目前我正在尝试在onGlobalLayoutListener
mActivity.getWindow().getDecorView().findViewById(R.id.content)
PS我认为这可能是因为support-v4
图书馆,但为什么4.2上有备用的LinearLayout?