【问题标题】:RelativeLayout expanding but not shrinking [duplicate]RelativeLayout 扩大但不缩小[重复]
【发布时间】:2019-07-14 03:03:36
【问题描述】:

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

【问题讨论】:

  • 使用View.GONE 而不是view.INVISIBLE
  • 使用 Visibility.GONE 隐藏视图。因为 INVISIBLE 意味着视图将存在但不可见。

标签: android android-linearlayout android-relativelayout


【解决方案1】:

使用 GONE 而不是 INVISIBLE

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-12
    • 2012-04-18
    • 1970-01-01
    • 1970-01-01
    • 2011-01-09
    • 1970-01-01
    • 1970-01-01
    • 2016-09-08
    相关资源
    最近更新 更多