繁体   English   中英

设置linearlayout高度不起作用

[英]setting linearlayout height does not work

我在高度为“ WRAP_CONTENT”的线性布局内有一个listview,因此列表出现在线性布局内,当我填充列表时,我在每个列表行中附加了一些隐藏的列表项,我想显示这些项onListitemClick列表器,

一切工作正常,但是如果我只有一个列表子级,那么我必须滚动视图以查看现在可见的布局,
我的问题是:
我想在单击列表项并且视图可见时增加该线性布局的高度。

这是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吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM