如何在布局xml中创建空格

时间:2014-08-26 18:58:26

标签: android css xml android-layout

我正在使用TableLayout格式化一个3x2表,该表以每个单元格中的一个属性名称开头,另一个空TextView将在运行时编辑为包含值。我希望第一列从屏幕的左边缘开始,下一列从屏幕中间开始。空TextViews的文本设置为" 这里有~10个空格",但空白区域不会显示在图形编辑器中。

如何创建包含空格的TextView?

现在是我的xml文件:

<TableLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="166dp" >

    <TableRow
        android:id="@+id/tableRow1"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <TextView
            android:id="@+id/datetext"
            android:text="@string/date" ></TextView>
        <TextView
            android:id="@+id/date"
            android:text="@string/empty" ></TextView>
         <TextView
            android:id="@+id/heartratetext"
            android:text="@string/heart_rate" ></TextView>
        <TextView
            android:id="@+id/heart_rate"
            android:text="@string/empty" ></TextView>

    </TableRow>

    <TableRow
        android:id="@+id/tableRow2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
         <TextView
            android:text="@string/empty" ></TextView>

    </TableRow>
    <TableRow
        android:id="@+id/tableRow3"

        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
        <TextView
            android:id="@+id/timetext"
            android:text="@string/time" ></TextView>
         <TextView
            android:id="@+id/time"
            android:text="@string/empty" ></TextView>
         <TextView
            android:id="@+id/SDNNtext"
            android:text="@string/SDNN" ></TextView>
         <TextView
            android:id="@+id/SDNN"
            android:text="@string/empty" ></TextView>
    </TableRow>


    <TableRow
        android:id="@+id/tableRow4"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
        <TextView
            android:text="@string/empty" ></TextView>


    </TableRow>
    <TableRow
        android:id="@+id/tableRow5"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
          <TextView
            android:id="@+id/durationtext"
            android:text="@string/duration" ></TextView>
         <TextView
            android:id="@+id/duration"
            android:text="@string/empty" ></TextView>
         <TextView
            android:id="@+id/SDANNtext"
            android:text="@string/SDANN" ></TextView>
         <TextView
            android:id="@+id/SDANN"
            android:text="@string/empty" ></TextView>
    </TableRow>

    <TableRow
        android:id="@+id/tableRow6"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >
         <TextView
            android:text="@string/empty" ></TextView>

    </TableRow>
</TableLayout>

1 个答案:

答案 0 :(得分:0)

我认为你的推理方式不正确。您应该专注于为空TextView提供适当的宽度,并使用给定数量的空间来填充它不是正确的方法。如果你想在TableRow中给出每个TextView,给定的宽度将是常量,尝试使用LinearLayout和layout_weight属性。例如,如果每个TextView应占用行宽度的1/4而不是:

<TableRow
    android:id="@+id/tableRow1"
    android:layout_height="wrap_content" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.25"
            android:id="@+id/datetext"
            android:text="@string/date" />
        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.25"
            android:id="@+id/date"
            android:text="@string/empty" />
        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.25"
            android:id="@+id/heartratetext"
            android:text="@string/heart_rate" />
        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.25"
            android:id="@+id/heart_rate"
            android:text="@string/empty" />
    </LinearLayout>

</TableRow>

编辑:你还需要设置android:stretchColumns =&#34; *&#34; TableLayout中的属性使该解决方案正常工作。