我需要在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,在&gt; 4.0上有帧布局不在4.1或4.1上。
为什么这样,我怎样才能获得所有手机上相同的活动布局?
目前,我正在尝试在onGlobalLayoutListener
mActivity.getWindow().getDecorView().findViewById(R.id.content)
P.S。我想这可能是因为support-v4
库,但为什么4.2上有备用LinearLayout?
答案 0 :(得分:0)
不同API的库和本机组件可以生成不同的布局。这适用于选项卡活动和操作栏,进度条等。我通常使用ui automator viewer检查viewtree,它非常方便检查: http://developer.android.com/tools/debugging/debugging-ui.html 还有这个: http://developer.android.com/tools/testing/testing_ui.html