ActivityGroup返回键和activity跳转

// 跳转到其它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);
    }


你可能感兴趣的:(ActivityGroup跳转)