RelativeLayout 扩大但不缩小

RelativeLayout expanding but not shrinking

我有一个 RelativeLayout,通过将里面的 LinearLayout 设置为 View.VISIBLE,点击即可展开。这很好用,但是一旦我将 LinearLayout 设置为 INVISIBLE,LL 就会隐藏,但父 RelativeLayout 保持其大小。

我真的必须在扩展之前存储 LayoutParams 以便以后恢复,还是有一些内置的魔法可以在它为增长工作时自动缩小尺寸?


list_item.xml

<RelativeLayout
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <LinearLayout
        android:id="@+id/expandArea"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:visibility="invisible"
        >

</RelativeLayout>

ListAdapter.java

// shrinking does not work when:
v.findViewById(R.id.expandArea).setVisibility(View.INVISIBLE);

// whereas expanding works correct:
v.findViewById(R.id.expandArea).setVisibility(View.VISIBLE);

使用GONE代替INVISIBLE

v.findViewById(R.id.expandArea).setVisibility(View.GONE);