Android 使用LAYOUTINER的充气方法时如何设置根视图?

Android 使用LAYOUTINER的充气方法时如何设置根视图?,android,Android,在我查找之后,我发现很难理解根视图的含义。它只是这个生成的xml层次结构的父视图,还是整个视图层次结构的最上层视图 我认为答案很可能是前者。但我面临一个问题。如果在无法获取此生成层次结构的父视图的情况下,是否每次展开层次结构树时都必须设置布局参数 这是我的密码。线性布局无法填充父对象。我认为LinearLayout的布局高度和布局宽度必须设置为包裹内容 storage_status.xml 提前谢谢。对不起,我的英语很差。正如您所说,它只是生成的xml层次结构的父级,如果在没有指定父级的情况下膨

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

我认为答案很可能是前者。但我面临一个问题。如果在无法获取此生成层次结构的父视图的情况下,是否每次展开层次结构树时都必须设置布局参数

这是我的密码。线性布局无法填充父对象。我认为LinearLayout的布局高度和布局宽度必须设置为包裹内容

storage_status.xml


提前谢谢。对不起,我的英语很差。

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

谢谢@a.ch。我已尝试设置布局参数,但视图仍然不是填充父视图。当我过去做同样的事情时,它总是起作用。。我发现还有另一种过载充气方法,其参数名为attachToRoot。我怀疑我是否将此标志设置为false,那么我不仅可以提供生成视图的父视图,还可以提供父视图的父视图。您是如何设置这些参数的?view view=inflater.inflater.layout.storage_status,null;view.SetLayoutParams新建LayoutParamsLayoutParams.MATCH_父级,LayoutParams.MATCH_父级;我发现以前有人问过这个问题。答案很清楚。
<?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>
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; 
        }
    }
}