Android表格布局,不适合重量

时间:2016-06-03 12:08:36

标签: android android-tablelayout

My current layout and below it, what I want is

正如您在此处所见,我尝试使用权重进行管理。

<?xml version="1.0" encoding="utf-8"?>
<TableLayout
    android:id="@+id/dialog_table_results"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="20dp"

    xmlns:android="http://schemas.android.com/apk/res/android">

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

    >


    <TextView
        android:text=""
        android:layout_weight="0.25"/>

    <TextView
        android:text="@string/choosing"
        android:layout_weight="0.25"/>

    <TextView
        android:text="@string/matching"
        android:layout_weight="0.25"/>

    <TextView
        android:text="@string/counting"
        android:layout_weight="0.25"/>

</TableRow>

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


        <TextView
            android:text=""
            android:layout_weight="0.28"
            />

        <TextView
            android:text="@string/trueanswer"
            android:layout_weight="0.08"/>

        <TextView
            android:text="@string/falseanswer"
            android:layout_weight="0.08"/>

        <TextView
            android:text="@string/halftrueanswer"
            android:layout_weight="0.08"/>

        <TextView
            android:text="@string/trueanswer"
            android:layout_weight="0.08"/>

        <TextView
            android:text="@string/falseanswer"
            android:layout_weight="0.08"/>

        <TextView
            android:text="@string/halftrueanswer"
            android:layout_weight="0.08"/>

        <TextView
            android:text="@string/trueanswer"
            android:layout_weight="0.08"/>

        <TextView
            android:text="@string/falseanswer"
            android:layout_weight="0.08"/>

        <TextView
            android:text="@string/halftrueanswer"
            android:layout_weight="0.08"/>


    </TableRow>





</TableLayout>

每行有1个重量。

对于第一行,每列的权重为0.25。

第一行的第一列为空,同样必须为0.25以对齐第一行。因为那之后会有更多的行。

我添加了布局列属性,就像这里描述的那样 https://stackoverflow.com/a/10762446/6412889

对于第一行,0-3之间,第二行,0到10。

我删除了体重,尝试了重量但没有改变

我还添加了

 android:layout_width="wrap_content"
        android:layout_height="wrap_content"

或匹配已删除的父级,仅左侧tablelayout宽度高度但不起作用。 还添加了

    android:shrinkColumns="*"
android:stretchColumns="*"

但情况更糟。

https://stackoverflow.com/a/14941587/6412889这也行不通。它排名第一,但第二排仍然相同。顶部也不好,4列必须相等。

也许使用listview会更好?

当用户点击图标时,会弹出一个菜单。当用户单击其中第一个时,将显示弹出表格布局。我不知道listview是否适合这个。使用tablelayout,这将非常简单。而且我也不需要点击listview的列表。这只是为了展示。

1 个答案:

答案 0 :(得分:0)

你想要达到这样的目标吗? :

<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:alignmentMode="alignBounds"
    android:columnCount="9">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_columnSpan="3"
        android:layout_columnWeight="1"
        android:text="aaaaaa" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_columnSpan="3"
        android:layout_columnWeight="1"
        android:text="bbbbb" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_columnSpan="3"
        android:layout_columnWeight="1"
        android:text="ccccc" />


    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_columnWeight="1" />


    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_columnWeight="1"
        android:text="d" />


    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_columnWeight="1"
        android:text="e" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_columnWeight="1"
        android:text="f" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_columnWeight="1"
        android:text="g" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_columnWeight="1"
        android:text="h" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_columnWeight="1"
        android:text="i" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_columnWeight="1"
        android:text="j" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_columnWeight="1"
        android:text="k" />
</GridLayout>