我有三种不同类型的视图(视图1,视图2,视图3)。我有一个viewSupplierClass,它以任何顺序和任何数字返回这些视图。 (例如:视图1,视图2,视图2,视图2,视图3,视图1,视图3,视图2,......)。现在我需要按照我得到的顺序将它们安排在Activity中,而不留空格。
我选择使用gridLayout执行此操作并将这些视图分类为矩阵(i,e View 1 - 2X2,View 2 1X2,View 3 -1X1)。但是我的输出并不像预期的那样。我在两者之间得到空格,因为视图的大小不同。 有人可以帮助我找到更好的解决方案或指出我的错误。
这是我的代码和输出:
活动
private void addViews() {
for (position = 0; position <= totalItems; position++) {
LayoutSupplierClass layout = new LayoutSupplierClass(this, position);
gridLayout.addView(layout);
}
}
XML
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/text">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<GridLayout
android:id="@+id/gridLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:columnCount="2"
tools:context=".GridXMLActivity" >
</GridLayout>
<Button
android:id="@+id/customize"
android:layout_width="300dp"
android:layout_height="50dp"
android:layout_alignParentBottom="true"
android:layout_below="@id/gridLayout"
android:layout_centerHorizontal="true"
android:text="@string/customize " />
</RelativeLayout>
</ScrollView>
</RelativeLayout>