我有一个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);
答案 0 :(得分:1)
使用消失代替不可见
v.findViewById(R.id.expandArea).setVisibility(View.GONE);