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,这样方便添加控件在任何需要的位置。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。