从ActivityGroup中的嵌入式意图消除PhoneWindow $ DecorView(TabHost)

时间:2010-05-04 22:43:30

标签: android

我正在尝试简化我的视图并摆脱一些嵌套布局,我注意到在查看层次结构视图时,TabHost中的嵌入式活动有一个PhoneWindow $ DecorView。有没有办法摆脱这个?

这里有一个例子:

http://www.vimtips.org/media/hv.png

1 个答案:

答案 0 :(得分:1)

是的,是的,你可以,但它基本没用。:

Window w = mLocalActivityManager.loadActivity(id, intent);
View decor = w.getDecorView();
ViewGroup frame = (ViewGroup)decor.findViewById(android.R.id.content);

View view = frame.getChildAt(0);
frame.removeView(view);

然后,您可以将view添加到ActivityGroup内容视图中。唯一的问题是LocalActivityManager无法再对其进行管理,这意味着,当您从此“标签”切换回来并尝试返回时,frame.getChildAt(0)将返回null。缓存它可能会起作用,但其他东西也不再被管理,比如选项菜单等等。