我是Android的新手,我正在尝试使用Gridlayout,但是有点麻烦,我不知道如何在Gridlayout中合并comlumns / rows。在下面的代码中,我尝试使用span,但在Description edittext中,Description列(第0列)保持跨越并使其他列(第1,2列...)移出屏幕。我该如何解决这个问题?
<GridLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"
android:columnCount="6" android:rowCount="8" android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Create Goal"
android:layout_columnSpan="6"
android:gravity="center_horizontal"
android:textSize="20dp"
android:layout_marginTop="15dp"
android:id="@+id/textView" android:layout_row="0" android:layout_column="0"
android:layout_gravity="center_horizontal"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Name"
android:id="@+id/goalNameLb" android:layout_row="1" android:layout_column="0"
android:textSize="15dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:layout_marginRight="10dp"
android:layout_gravity="fill_horizontal"/>
<EditText
android:layout_width="wrap_content"
android:layout_gravity="center_horizontal|left"
android:layout_height="wrap_content"
android:layout_columnSpan="5"
android:layout_marginTop="10dp"
android:layout_marginLeft="10dp"
android:id="@+id/goalName" android:layout_row="1" android:layout_column="1"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="fill_horizontal"
android:text="Goal Type"
android:textSize="15dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:id="@+id/goalTypeLb" android:layout_row="2" android:layout_column="0"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Short Term"
android:layout_columnSpan="2"
android:layout_marginLeft="15dp"
android:layout_marginTop="10dp"
android:id="@+id/shortTerm" android:layout_row="3" android:layout_column="0" android:checked="false"/>
<RadioButton
android:layout_gravity="fill_horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Long Term"
android:layout_marginTop="10dp"
android:layout_columnSpan="3"
android:layout_marginLeft="40dp"
android:id="@+id/longTerm" android:layout_row="3" android:layout_column="2"
android:checked="false"/>
<TextView
android:layout_gravity="fill_horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Description"
android:layout_row="4"
android:layout_column="0"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
/>
<EditText
android:layout_gravity="fill_horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:id="@+id/goalName" android:layout_row="5" android:layout_column="0"/>
<TextView
android:layout_gravity="fill_horizontal"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/deadlineLb"
android:layout_row="6"
android:layout_column="0"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:text="Deadline"
android:textSize="15dp"
/>
</GridLayout>
答案 0 :(得分:0)
使用layout_columnSpan
合并列,使用layout_rowSpan
合并行。您可以在每个控件中设置合并。
在您的情况下,要将说明TextView
合并到第1列和第2列:
<TextView
android:layout_gravity="fill_horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Description"
android:layout_row="4"
android:layout_column="0"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:layout_columnSpan="2"
/>
您可以在此处找到更多信息:GridLayout.LayoutParams
答案 1 :(得分:-1)
答案 2 :(得分:-1)
我知道这是一个老问题,但我有另一种解决方案。 您可以使用LinearLayout块来包含多个项目。这个LinearLayout将会被看到&#39;作为GridLayout的1个元素。