设置linearlayout高度无效



我在高度设置为"WRAP_CONTENT"的线性布局中有一个列表视图,因此列表显示在线性布局中,当我填充列表时,我在每个列表行中附加一些隐藏的列表项,我想在ListitemClick listner,上显示这些项

一切都很好,但如果我只有一个列表子项,那么我必须滚动视图才能看到现在可见的布局,
我的问题是:
当单击列表项并且视图可见时,我想增加线性布局的高度。。

这是xml。。

<LinearLayout
android:id="@+id/listContainer"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
    //used this relative layout to set different backgroung for each time..     

<RelativeLayout
    android:id="@+id/listHeader"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >
    <TextView
        android:id="@+id/categoryTitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:textColor="#FFFFFF"
        android:textSize="15sp" />
</RelativeLayout>
<ListView
    android:id="@android:id/list"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

当隐藏的项目是可见的,然后我使用这个代码来增加高度,

LayoutParams paramsLinearLayout;
    LinearLayout layoutContainer;
layoutContainer = (LinearLayout) findViewById(R.id.listContainer);
    paramsLinearLayout =  layoutContainer.getLayoutParams();
    layoutContainer.setMinimumHeight(paramsLinearLayout.WRAP_CONTENT);

使用这段代码:

LinearLayout linear = new LinearLayout(getContext());
LayoutParams linearParams=new LayoutParams(LayoutParams.MATCH_PARENT,Height what you want);

而不是:

LayoutParams paramsLinearLayout;
    LinearLayout layoutContainer;
layoutContainer = (LinearLayout) findViewById(R.id.listContainer);
    paramsLinearLayout =  layoutContainer.getLayoutParams();
    layoutContainer.setMinimumHeight(paramsLinearLayout.WRAP_CONTENT);

我认为您不应该在高度为wrap_content的布局中拥有高度为match_parent的视图,就像您的情况一样:

<LinearLayout
android:id="@+id/listContainer"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
    //used this relative layout to set different backgroung for each time..     
<ListView
    android:id="@android:id/list"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

你不能把linearlayout的高度也设置为match_parent吗?

最新更新