android - 为什么 gridlayout 中的多行按钮有奇怪的上边距?

标签 android android-layout android-gridlayout

我有这样的布局:

<LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#FF2c3e50">

    <FrameLayout
            android:layout_width="300px"
            android:layout_height="5px"
            android:background="#FF4a80c2"
            >
    </FrameLayout>


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

        <GridLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:rowCount="2"
                android:orientation="vertical"
                android:padding="50px">

            <Button
                    android:layout_marginBottom="20px"
                    android:layout_marginRight="20px"
                    android:lines="2"
                    android:textColor="#fff3f3f3"
                    android:layout_width="165px"
                    android:layout_height="165px"
                    android:text="zrušit bez zápisu"
                    android:gravity="center"
                    android:textStyle="bold"
                    android:padding="10px"
                    android:textSize="24px"
                    android:background="@drawable/cancel_button"/>

            <Button
                    android:layout_marginBottom="20px"
                    android:layout_marginRight="20px"
                    android:lines="2"
                    android:textColor="#fff3f3f3"
                    android:layout_width="165px"
                    android:layout_height="165px"
                    android:text="odchod"
                    android:gravity="center"
                    android:textStyle="bold"
                    android:textSize="24px"
                    android:padding="10px"
                    android:background="@drawable/type_button_default"/>

            <Button
                    android:layout_marginBottom="20px"
                    android:lines="2"
                    android:layout_marginRight="20px"
                    android:textColor="#fff3f3f3"
                    android:layout_width="165px"
                    android:layout_height="165px"
                    android:text="nemoc"
                    android:padding="10px"
                    android:gravity="center"
                    android:textStyle="bold"
                    android:textSize="24px"
                    android:background="@drawable/type_button"/>

            <Button
                    android:layout_marginBottom="20px"
                    android:layout_marginRight="20px"
                    android:lines="2"
                    android:textColor="#fff3f3f3"
                    android:layout_width="165px"
                    android:layout_height="165px"
                    android:text="lékař"
                    android:padding="10px"
                    android:gravity="center"
                    android:textStyle="bold"
                    android:textSize="24px"
                    android:background="@drawable/type_button"/>

            <Button
                    android:layout_marginBottom="20px"
                    android:layout_marginRight="20px"
                    android:lines="2"
                    android:textColor="#fff3f3f3"
                    android:layout_width="165px"
                    android:layout_height="165px"
                    android:padding="10px"
                    android:text="pracovní cesta"
                    android:gravity="center"
                    android:textStyle="bold"
                    android:textSize="24px"
                    android:background="@drawable/type_button"/>

            <Button
                    android:layout_marginBottom="20px"
                    android:lines="2"
                    android:layout_marginRight="20px"
                    android:textColor="#fff3f3f3"
                    android:layout_width="165px"
                    android:layout_height="165px"
                    android:padding="10px"
                    android:text="školení"
                    android:gravity="center"
                    android:textStyle="bold"
                    android:textSize="24px"
                    android:background="@drawable/type_button"/>

            <Button
                    android:layout_marginBottom="20px"
                    android:lines="2"
                    android:layout_marginRight="20px"
                    android:textColor="#fff3f3f3"
                    android:layout_width="165px"
                    android:layout_height="165px"
                    android:padding="10px"
                    android:text="neplacené volno"
                    android:gravity="center"
                    android:textStyle="bold"
                    android:textSize="24px"
                    android:background="@drawable/type_button"/>

            <Button
                    android:layout_marginBottom="20px"
                    android:lines="2"
                    android:layout_marginRight="20px"
                    android:textColor="#fff3f3f3"
                    android:layout_width="165px"
                    android:layout_height="165px"
                    android:text="volno"
                    android:padding="10px"
                    android:gravity="center"
                    android:textStyle="bold"
                    android:textSize="24px"
                    android:background="@drawable/type_button"/>

            <Button
                    android:layout_marginBottom="20px"
                    android:lines="2"
                    android:layout_marginRight="20px"
                    android:textColor="#fff3f3f3"
                    android:layout_width="165px"
                    android:layout_height="165px"
                    android:padding="10px"
                    android:text="náhradní volno"
                    android:gravity="center"
                    android:textStyle="bold"
                    android:textSize="24px"
                    android:background="@drawable/type_button"/>

        </GridLayout>

    </HorizontalScrollView>


</LinearLayout>

当我在网格布局中有多行按钮时,它们的位置很奇怪。查看附图。

enter image description here

谁能告诉我这里发生了什么?

最佳答案

我发现问题出在哪里了。所有按钮也必须具有 layout_gravity。所需要做的就是将 android:layout_gravity="center" 添加到所有按钮。

关于android - 为什么 gridlayout 中的多行按钮有奇怪的上边距?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25743021/

相关文章:

android - ConstraintLayout 在底部工作 TableView 中无法正常工作

java - 如何在android中创建嵌套的 fragment View ?

android - 以编程方式设置 ConstraintLayout 宽度以匹配父宽度

java - 以编程方式添加时如何为 GridLayout 子项设置 layout_columnWeight?

java - 有一个实例变量指向 fragment 内的 Activity 是否安全?

android - 找不到Android Studio com.google.android.gms.internal.zzbgl

android - 将gridLayout的高度设置为wrap_content后 View 消失

android - GridLayout(不是GridView)如何均匀拉伸(stretch)所有 child

java - 使 JsonGetter 不区分大小写

java - 屏幕旋转时 fragment 崩溃