带有TextView的GridLayout创建额外的边距

时间:2018-07-26 09:46:22

标签: android margin android-gridlayout

我正在尝试创建一个GridLayout,该GridLayout应该水平滚动,并使用以下布局显示各种TextView。

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<HorizontalScrollView
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <GridLayout
        android:id="@+id/chart_grid"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:alignmentMode="alignBounds"
        android:background="@color/colorAccent"
        android:columnCount="8">

        <android.support.v7.widget.AppCompatTextView
            android:layout_width="80dp"
            android:layout_height="35dp"
            android:layout_marginBottom="1dp"
            android:layout_marginEnd="1dp"
            android:layout_marginStart="0dp"
            android:layout_marginTop="0dp"
            android:background="@android:color/white"
            android:ellipsize="end"
            android:gravity="center"
            android:maxLines="2"
            android:paddingBottom="0dp"
            android:text="Test"
            android:textSize="10sp"
            android:textStyle="normal" />

        <android.support.v7.widget.AppCompatTextView
            android:layout_width="80dp"
            android:layout_height="35dp"
            android:layout_marginBottom="1dp"
            android:layout_marginEnd="1dp"
            android:layout_marginStart="0dp"
            android:layout_marginTop="0dp"
            android:background="@android:color/white"
            android:ellipsize="end"
            android:gravity="center"
            android:maxLines="2"
            android:paddingBottom="0dp"
            android:text="Test"
            android:textSize="10sp"
            android:textStyle="normal" />

        <android.support.v7.widget.AppCompatTextView
            android:layout_width="80dp"
            android:layout_height="35dp"
            android:layout_marginBottom="1dp"
            android:layout_marginEnd="1dp"
            android:layout_marginStart="0dp"
            android:layout_marginTop="0dp"
            android:background="@android:color/white"
            android:ellipsize="end"
            android:gravity="center"
            android:maxLines="2"
            android:paddingBottom="0dp"
            android:text="Test"
            android:textSize="10sp"
            android:textStyle="normal" />

        <android.support.v7.widget.AppCompatTextView
            android:layout_width="80dp"
            android:layout_height="35dp"
            android:layout_marginBottom="1dp"
            android:layout_marginEnd="1dp"
            android:layout_marginStart="0dp"
            android:layout_marginTop="0dp"
            android:background="@android:color/white"
            android:ellipsize="end"
            android:gravity="center"
            android:maxLines="2"
            android:paddingBottom="0dp"
            android:text="Test goes onto two lines"
            android:textSize="10sp"
            android:textStyle="normal" />

        <android.support.v7.widget.AppCompatTextView
            android:layout_width="80dp"
            android:layout_height="35dp"
            android:layout_marginBottom="1dp"
            android:layout_marginEnd="1dp"
            android:layout_marginStart="0dp"
            android:layout_marginTop="0dp"
            android:background="@android:color/white"
            android:ellipsize="end"
            android:gravity="center"
            android:maxLines="2"
            android:paddingBottom="0dp"
            android:text="Test"
            android:textSize="10sp"
            android:textStyle="normal" />

        <android.support.v7.widget.AppCompatTextView
            android:layout_width="80dp"
            android:layout_height="35dp"
            android:layout_marginBottom="1dp"
            android:layout_marginEnd="1dp"
            android:layout_marginStart="0dp"
            android:layout_marginTop="0dp"
            android:background="@android:color/white"
            android:ellipsize="end"
            android:gravity="center"
            android:maxLines="2"
            android:paddingBottom="0dp"
            android:text="Test"
            android:textSize="10sp"
            android:textStyle="normal" />

        <android.support.v7.widget.AppCompatTextView
            android:layout_width="80dp"
            android:layout_height="35dp"
            android:layout_marginBottom="1dp"
            android:layout_marginEnd="1dp"
            android:layout_marginStart="0dp"
            android:layout_marginTop="0dp"
            android:background="@android:color/white"
            android:ellipsize="end"
            android:gravity="center"
            android:maxLines="2"
            android:paddingBottom="0dp"
            android:text="Test"
            android:textSize="10sp"
            android:textStyle="normal" />

        <android.support.v7.widget.AppCompatTextView
            android:layout_width="80dp"
            android:layout_height="35dp"
            android:layout_marginBottom="1dp"
            android:layout_marginEnd="1dp"
            android:layout_marginStart="0dp"
            android:layout_marginTop="0dp"
            android:background="@android:color/white"
            android:ellipsize="end"
            android:gravity="center"
            android:maxLines="2"
            android:paddingBottom="0dp"
            android:text="Test"
            android:textSize="10sp"
            android:textStyle="normal" />

        <android.support.v7.widget.AppCompatTextView
            android:layout_width="80dp"
            android:layout_height="35dp"
            android:layout_marginBottom="1dp"
            android:layout_marginEnd="1dp"
            android:layout_marginStart="0dp"
            android:layout_marginTop="0dp"
            android:background="@android:color/white"
            android:ellipsize="end"
            android:gravity="center"
            android:maxLines="2"
            android:paddingBottom="0dp"
            android:text="Test"
            android:textSize="10sp"
            android:textStyle="normal" />

        <android.support.v7.widget.AppCompatTextView
            android:layout_width="80dp"
            android:layout_height="35dp"
            android:layout_marginBottom="1dp"
            android:layout_marginEnd="1dp"
            android:layout_marginStart="0dp"
            android:layout_marginTop="0dp"
            android:background="@android:color/white"
            android:ellipsize="end"
            android:gravity="center"
            android:maxLines="2"
            android:paddingBottom="0dp"
            android:text="Test"
            android:textSize="10sp"
            android:textStyle="normal" />

        <android.support.v7.widget.AppCompatTextView
            android:layout_width="80dp"
            android:layout_height="35dp"
            android:layout_marginBottom="1dp"
            android:layout_marginEnd="1dp"
            android:layout_marginStart="0dp"
            android:layout_marginTop="0dp"
            android:background="@android:color/white"
            android:ellipsize="end"
            android:gravity="center"
            android:maxLines="2"
            android:paddingBottom="0dp"
            android:text="Test"
            android:textSize="10sp"
            android:textStyle="normal" />

        <android.support.v7.widget.AppCompatTextView
            android:layout_width="80dp"
            android:layout_height="35dp"
            android:layout_marginBottom="1dp"
            android:layout_marginEnd="1dp"
            android:layout_marginStart="0dp"
            android:layout_marginTop="0dp"
            android:background="@android:color/white"
            android:ellipsize="end"
            android:gravity="center"
            android:maxLines="2"
            android:paddingBottom="0dp"
            android:text="Test"
            android:textSize="10sp"
            android:textStyle="normal" />

    </GridLayout>
</HorizontalScrollView>
</android.support.constraint.ConstraintLayout>

有人能告诉我为什么当一个TextView的文本超过两行时为什么会这样显示吗?

enter image description here

如果文本没有超过两行,则表示效果很好。

enter image description here

1 个答案:

答案 0 :(得分:0)

原来,我需要在TextView中设置android:layout_gravity="top"才能实现我想要的功能。

        <android.support.v7.widget.AppCompatTextView
            android:layout_width="80dp"
            android:layout_height="35dp"
            android:layout_marginBottom="1dp"
            android:layout_marginEnd="1dp"
            android:layout_marginStart="0dp"
            android:layout_marginTop="0dp"
            android:layout_gravity="top"
            android:background="@android:color/white"
            android:ellipsize="end"
            android:gravity="center"
            android:maxLines="2"
            android:paddingBottom="0dp"
            android:text="Test with some text"
            android:textSize="10sp"
            android:textStyle="normal" />

enter image description here