【问题标题】:How to set Root View when using inflate method of LayoutInflater? [duplicate]使用LayoutInflater的inflate方法时如何设置Root View? [复制]
【发布时间】:2012-02-27 06:35:05
【问题描述】:

在查找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; 
        }
    }
}

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

【问题讨论】:

标签: android


【解决方案1】:

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

【讨论】:

  • 谢谢@a.ch。我已经尝试设置布局参数,但视图仍然没有填充父级。 (当我过去做同样的事情时,它总是有效的。)。我发现还有另一个重载膨胀方法,其参数名为attachToRoot。我怀疑如果我将此标志设置为 false,那么我不仅可以提供生成视图的父视图,还可以提供父视图的父视图。
  • 你是如何设置这些参数的?
  • 查看视图 = inflater.inflate(R.layout.storage_status, null); view.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-31
  • 2019-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多