// 跳转到其它activity时,直接使用Intent的话,activity会全屏显示,底部导航栏没有,
// 需要将ActivityGroup中的activity移除,将要跳转的页面add进去
// 因为Android同一时间只有一个活动的Activity
LinearLayout container = (LinearLayout) ((ActivityGroup) getParent())
.getWindow().findViewById(R.id.container);
container.removeAllViews();
Intent intent = new Intent(context, class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Window subActivity = ((ActivityGroup) HomeActivity.this.getParent())
.getLocalActivityManager().startActivity("BB", intent);
container.addView(subActivity.getDecorView());
如果想要 activity 在ActivityGroup中跳转,使用上边的方法跳转。直接使用Intent跳转的话,整个Activity就会全部显示。
点击返回键的时候,子activity貌似没有获取到onkeydown方法。使用下边方法即可。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// ActivityGroup拦截返回键 交给 子Activity处理
return getCurrentActivity().onKeyDown(keyCode, event);
}