我是Android编程的新手,我正在尝试创建一个并排有三个项目的简单布局。
我使用GridLayout尝试完成此任务。我创建了一个包含三列的GridLayout。然后我添加了三个NumberPickers。当我这样做时,columnCount
上升到4
。当我试图将其更改回3时,我收到了错误
Exception raised during rendering: column indices (start + span) mustn't exceed the column count.
这很奇怪。为什么列索引超过列数?另外,为什么列在触摸屏幕右侧之前结束?
XML
<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/GridLayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:columnCount="2"
android:orientation="horizontal" >
<NumberPicker
android:id="@+id/NumberPicker01"
android:layout_gravity="left"
android:gravity="center_vertical" />
<NumberPicker
android:id="@+id/NumberPicker02"
android:layout_column="0"
android:layout_gravity="fill_horizontal" />
<NumberPicker
android:id="@+id/NumberPicker03"
android:layout_column="0" />
<Space
android:layout_column="1"
android:layout_gravity="fill_vertical"
android:layout_row="3" />
</GridLayout>
答案 0 :(得分:2)
当我使用你的布局xml时,它将三个数字放在彼此之下,即三行。 Picker 1进入第0行和第0列。对于Picker 2和3,您指定第0列,因此它们都进入新行。此外,你有水平填充,可以将任何内容推到屏幕右侧。你为什么在那里有空间?最后,您将columnCount设置为2.列数应为3。
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/GridLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:columnCount="3"
android:orientation="horizontal" >
<NumberPicker
android:id="@+id/NumberPicker01"
android:layout_column="0" />
<NumberPicker
android:id="@+id/NumberPicker02"
android:layout_column="1"/>
<NumberPicker
android:id="@+id/NumberPicker03"
android:layout_column="2" />
</GridLayout>
结果如下:
您可以通过添加边距在数字选择器之间添加空格。