Android:android.R.id.content用于什么?

use*_*659 134 android android-resources

任何人都可以解释"android.R.id.content"的含义?

它是如何使用的?

http://developer.android.com没有任何解释.

public static final int contents
自:API Level 1

常数值:16908290(0x01020002)

Gil*_*ili 93

将Philipp Reichart的评论转换成答案:

android.R.id.content为您提供视图的根元素,而无需知道其实际名称/类型/ ID.看看从当前的活动获得root视图

  • 可以在第2段中找到它的实际使用示例:http://developer.android.com/guide/topics/ui/actionbar.html#Tabs (5认同)
  • "给你一个view_的根元素_,而不必知道它的实际名称/类型/ ID"它如何知道我们想要哪个视图的根元素. (4认同)

DYS*_*DYS 20

android.R.id.contentID值指示ViewGroup的整个内容区域的Activity.

它可以用于Fragment:

public class MyActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        if (savedInstanceState == null) {
            getSupportFragmentManager().beginTransaction()
                .add(android.R.id.content, MyFragment.newInstance())
                .commit();
        }
    }

    ...

}
Run Code Online (Sandbox Code Playgroud)

上面的代码将把View创建者Fragment插入到ViewGroup标识的android.R.id.content.


The*_*eil 9

Google设计人员使用特定或推荐的设计指南开发Android UX.android.R.id.content布局定义了一个linearlayout,其中包含Android认为是一个很好的标准的一些属性.

因此,使用android.R.id.content加载Fragment Manager的根视图可确保实现这些指南.

注意:此布局设置了属性: android:addStatesFromChildren ="true"以允许子片段覆盖此根视图中的属性.

从版本19开始,android.R.id.content在文件中定义:auto_complete_list.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/content"
    android:orientation="vertical"
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"
    android:background="@android:drawable/edit_text"
    android:divider="@android:drawable/divider_horizontal_textfield"
    android:addStatesFromChildren="true">
Run Code Online (Sandbox Code Playgroud)