tablelayout - 3行x 4列 - 每个单元格都有TextView,Editview和Spinner

时间:2011-06-30 16:24:07

标签: android layout

早上好,

我正在尝试设计一个布局,我想知道它是否可能。

我想我想要一个包含3行和4列的TableLayout。然后在每个单元格中,我希望在TextView下面有一个带有EditView的TextView,然后在EditView下面有一个微调器。目标是让用户输入值,然后选择一个测量单位,如英寸或毫米。 TextView将识别参数的名称,然后用户输入一个数字并选择测量单位。

我首先尝试将三件事(TextView,EditView和Spinner)放在彼此之下,但没有成功。我可以使textview和editview工作但是当我添加微调器时它不会显示。我可以让TextView,EditView和两个按钮工作,我可以让微调器工作,但对于我的生活,我不能让TextView,EditView和Spinner一起工作,虽然我在调试或运行时没有错误。我在RelativeView中尝试这个,所以我可以将3个东西叠加在一起。我的想法是,如果我可以让RelativeView工作,那么我可以将它放在一个tableview中,并获得3行4个输入或12个总参数。

这有意义吗?这是创建输入参数的方法的正确方法,我尝试这个而不是一些线性视图的原因是我想在一个漂亮的网格上一次看到所有值,就像布局一样。

我提前感谢,我急切地等待着帮助!

1 个答案:

答案 0 :(得分:1)

显然,我没有为所有元素设置唯一的ID或布局高度/宽度,但这是结构:

<TableLayout>
  <TableRow>
    <LinearLayout
      android:orientation="horizontal">
      <include layout="@layout/form_fields" />
    </LinearLayout>
    <LinearLayout
      android:orientation="horizontal">
      <include layout="@layout/form_fields" />
    </LinearLayout>
    <LinearLayout
      android:orientation="horizontal">
      <include layout="@layout/form_fields" />
    </LinearLayout>
    <LinearLayout
      android:orientation="horizontal">
      <include layout="@layout/form_fields" />
    </LinearLayout>
  </TableRow>
  <TableRow>
    <LinearLayout
      android:orientation="horizontal">
      <include layout="@layout/form_fields" />
    </LinearLayout>
    <LinearLayout
      android:orientation="horizontal">
      <include layout="@layout/form_fields" />
    </LinearLayout>
    <LinearLayout
      android:orientation="horizontal">
      <include layout="@layout/form_fields" />
    </LinearLayout>
    <LinearLayout
      android:orientation="horizontal">
      <include layout="@layout/form_fields" />
    </LinearLayout>
  </TableRow>
  <TableRow>
    <LinearLayout
      android:orientation="horizontal">
      <include layout="@layout/form_fields" />
    </LinearLayout>
    <LinearLayout
      android:orientation="horizontal">
      <include layout="@layout/form_fields" />
    </LinearLayout>
    <LinearLayout
      android:orientation="horizontal">
      <include layout="@layout/form_fields" />
    </LinearLayout>
    <LinearLayout
      android:orientation="horizontal">
      <include layout="@layout/form_fields" />
    </LinearLayout>
  </TableRow>
</TableLayout>

然后你的@ layout / form_fields看起来像这样:

<LinearLayout
  android:orientation="vertical">
  <TextView />
  <EditText />
  <Spinner />
</LinearLayout>