android - 如何在布局xml中创建一个空白区域

标签 android css xml android-layout

我正在使用 TableLayout 来格式化一个 3x2 表格,该表格以每个单元格中的一个属性名称和一个将在运行时被编辑以包含一个值的空 TextView 开头。我希望第一列从屏幕的左边距开始,下一列从屏幕中间开始。空 TextView 的文本设置为“这里有 ~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>

最佳答案

我认为你的推理方式不正确。您应该专注于为空 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>

编辑:还值得一提的是,您必须在 TableLayout 中设置 android:stretchColumns="*"属性才能使该解决方案正常工作。

关于android - 如何在布局xml中创建一个空白区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25513293/

相关文章:

java - 如何使用自己的 XML 配置来实现自定义中介器?

android - 将 ImageView 添加到 linearlayout 会抛出目标异常

java - 如何获取 List<object> 的特定索引中的总项目数?

android - 如何在中心制作约束布局指南

html - 媒体查询中的转换在两个方向都不起作用

html - 在输入组内 Bootstrap 多个输入

java - 智能理念 | xml验证错误

xml - 如何获得XPATH中子项最多的ELEMENT?

android - 发生屏幕旋转时 ImageView 不保留图像

css - div 填充屏幕剩余空间