如何调整网格布局中的列大小?

时间:2018-11-21 12:27:26

标签: android android-gridlayout

我正在构建GridLayout。 我有8列。 我希望第一个TextView跨越6列并在2行上显示文本。 我希望下一个TextView跨越1列并显示1到10之间的数字。 最后,下一个TextView显示以下文本“ / 10”

到目前为止,我已经实现了想要的目标,但是在对齐方面并没有达到目的。

代码:

<GridLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:columnCount="7" 
android:orientation="horizontal"
android:rowCount="8">
    <TextView
        android:minLines="2"
        android:gravity="center_vertical"
        android:layout_row="1"
        android:layout_columnSpan="5"
        android:layout_columnWeight="4"

        android:layout_gravity="fill_horizontal"
        android:id="@+id/qol1"
        android:text="Avoir du temps pour moi" />
    <TextView
        android:layout_columnSpan="1"
        android:layout_gravity="fill_horizontal"
        android:id="@+id/score_qol1"
        android:text="6"
        style="@android:style/TextAppearance.DeviceDefault.Large"
        android:gravity="right" />
    <TextView
        android:layout_columnSpan="1"
        android:layout_gravity="fill_horizontal"
        android:id="@+id/score_qol1_10"
        android:text="/10"
        android:gravity="right" />
</GridLayout>

结果如下:

enter image description here

您可以想象,根据我的模型,我希望最后一个单元格包装其内容,中间一个单元格在左侧对齐,第一个单元格占用所有可用空间:

enter image description here

我知道最后2个单元格将始终占据大致相同的空间。由于屏幕分辨率的多样性,我不想使用固定尺寸。

我以为layout_columnWeight将是解决方案,但它不起作用。

0 个答案:

没有答案