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