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