使用LayoutInflater的inflate方法时如何设置Root View?

时间:2012-02-27 06:35:05

标签: android

在我查找inflate后,我发现它很难理解根视图的含义。它只是这个生成的xml层次结构的父视图,还是整个视图层次结构的最高视图。

我认为答案很可能是前者。但我遇到了一个问题。如果在我无法获得此生成的层次结构的父视图的情况下,每次我给层次结构树充气时是否必须设置布局参数?

这是我的代码。并且LinearLayout无法填充父级。我认为LinearLayout的layout_heightlayout_width必须设置为wrap_content

storage_status.xml

<?xml version="1.0" encoding="utf-8"?>
<com.android.contacts.StorageStatusView 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="match_parent"
    android:layout_width="match_parent">

    <View
        android:layout_height="50px"
        android:layout_width="50px"
        android:background="#f00"/>

</com.android.contacts.StorageStatusView>

java文件中的片段。

private class QuickActionClickListener implements QuickAction.OnActionItemClickListener {

    @Override
    public void onItemClick(QuickAction source, int pos, int actionId) {
        switch (actionId) {
            case ACTION_ID_STORAGE_STATUS :
                final LayoutInflater inflater = getLayoutInflater();
                new AlertDialog.Builder(ContactsListActivity.this)
                        .setTitle(UIUtils.getString(ContactsListActivity.this, R.string.storage_status))
                        .setView(inflater.inflate(R.layout.storage_status, null))
                        .show();

                break; 
        }
    }
}

提前致谢。抱歉我的英语很差。

1 个答案:

答案 0 :(得分:-1)

正如您所说,它只是生成的xml层次结构的父级,如果在没有指定父级的情况下给视图充气,则必须提供布局参数。