我有拥有子视图的LinearLayout。子视图堆叠在另一个的顶部,因为父布局的方向是垂直的。所有孩子的高度和宽度都是wrap_content,因此他们可以在父布局中的任何位置自由移动。用户可以移动视图并根据需要删除它们。当用户删除视图时,父布局高度会调整大小。到目前为止我的代码运作良好。
但是当用户将一个视图移动到另一个视图的侧面时,我希望父布局调整其高度,就像用户移除视图一样。我试图获得父亲的高度并减去孩子移动的距离并重新绘制布局,但这并不起作用。我也试过其他方法,但我还没有成功。有人能帮我吗?
答案 0 :(得分:1)
您可以在您的情况下使用GridView,您可以将列数(android:numColumns
)设置为1,垂直对齐时以及移动到侧面时将其设置为2。
以下是有关如何使用GridView https://developer.android.com/guide/topics/ui/layout/gridview.html
的文档<GridView android:id="@+id/grid_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="top"
android:layout_margin="10dp"
android:horizontalSpacing="10dp"
android:numColumns="2"
android:verticalSpacing="10dp" />