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

时间:2011-10-15 08:43:25

标签: android android-resources

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

如何使用?

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

  

public static final int content
  自:API Level 1

     

常数值:16908290(0x01020002)

4 个答案:

答案 0 :(得分:88)

作为Philipp Reichart commented

  

android.R.id.content为您提供视图的根元素,而无需知道其实际名称/类型/ ID。查看http://stackoverflow.com/questions/4486034/android-how-to-get-root-view-from-current-activity

答案 1 :(得分:17)

android.R.id.content ID值表示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();
        }
    }

    ...

}

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

答案 2 :(得分:8)

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

因此,使用android.R.id.content加载片段管理器的根视图可确保实现这些指南。

注意:此布局设置了属性: 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">

答案 3 :(得分:0)

android.R.id.content 在需要视图时非常有用,例如:

显示 Snackbar:

Snackbar.make(activity.findViewById(android.R.id.content), MESSAGE, Snackbar.LENGTH_LONG).show();

分片交易

 getSupportFragmentManager().beginTransaction()
                .add(android.R.id.content, FragmnetTest.newInstance())
                .commit();