Android 获取 content layout

if (findViewById(android.R.id.content) instanceof ViewGroup) {
            ViewGroup mainView = ((ViewGroup)findViewById(android.R.id.content));
            if (mainView.getChildCount() != 0) {
                ((ViewGroup)mainView.getChildAt(0)).addView(quitButton);
            }
            else {
                mainView.addView(quitButton);
            }
            quitButton.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    onBackPressed();
                }
            });
        }

代码中做的是,获取 content layout,然后在视图中加入一个按钮。

findViewById(android.R.id.content) 获取的是根视图的父视图,这是一个最底层的视图。根视图是它的第一个也可能是唯一的一个 Child。

首先需要看 content layout 是否是 ViewGroup,因为根视图可能只是一个 View 而不是 ViewGroup。在实践中,根视图尽量设置为 RelativeLayout,这样方便添加控件在任何需要的位置。

posted @ 2015-01-08 18:29  davesuen  阅读(475)  评论(0编辑  收藏  举报