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);
我有一个 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);