Android 强制 LinearLayout 在移除视图后调整视图大小

Android force LinearLayout to resize views after view removal

我有一个带有 2 个视图的 LinearLayout,视图 A 占据一些垂直 space,视图 B 占据布局的其余部分。

<LinearLayout

        android:id="@+id/ly2"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@id/input"
        android:orientation="vertical" >

        <View
            android:id="@+id/view1"
            android:layout_width="match_parent"
            android:layout_height="50dp" >
        </View>

        <WebView
            android:id="@+id/webview"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />
</LinearLayout>

有时我想删除视图 A。如何让 LinearLayout 刷新以便视图 B 占用整个 space?

此致。

View v=(View)findViewById(R.id.view1);

在某些时候使用

v.setVisibility(View.GONE);

查看此 link 以获得更多帮助

尝试用此代码替换您的xml

<RelativeLayout

        android:id="@+id/ly2"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
         >

        <View
            android:id="@+id/view1"
            android:layout_width="match_parent"
            android:layout_height="50dp" >
        </View>

        <WebView
            android:id="@+id/webview"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />
    </RelativeLayout>

在你的主 activity 中使用这个 xml 把这个

View view=(View)findViewById(R.id.view1);
view.setVisibility(View.GONE);