GridView的列数和标题不能适配的问题

在项目中做一个日历签到的模块,遇到的问题是日期和星期的标题一直不能对齐

调试了半天都不能决绝这里写图片描述

文字不好描述 直接上图来说明问题 为了区分开 我加了一个背景色 好看出问题
GridView有问题的图
可以明显看出 周日和周六的差距 往左偏移了 因为日期和星期是相互约束的 怎么调margin都没有效果

经过一番翻阅资料 最后翻墙找到答案
原文是这样说的
代码如下:

<GridView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/MyGrid" android:layout_width="fill_parent"
    android:layout_height="fill_parent" 
    android:padding="0dp"
    android:verticalSpacing="2dp" 
    android:horizontalSpacing="2dp"
    android:scrollingCache="true" 
    android:smoothScrollbar="true"
    android:clipChildren="true" 
    android:alwaysDrawnWithCache="true"
    android:numColumns="auto_fit" 
    android:columnWidth="100dp"
    android:stretchMode="columnWidth" 
    android:gravity="center_horizontal"
    android:background="#000000">
</GridView>

其中最主要的是属性是 android:clipChildren="true" 这句话是意思是:是否限制子View在其范围内
我们将其值设置为false后那么当子控件的高度高于父控件时也会完全显示,而不会被压缩
我按照这个格式将自己的布局也修改了一下 根据属性自己微调

 <GridView
                android:id="@+id/grid_view"
                android:layout_width="0dp"
                android:layout_height="0dp"
                android:padding="0dp"
                android:layout_marginBottom="35dp"
                android:layout_marginEnd="40dp"
                android:layout_marginLeft="40dp"
                android:layout_marginStart="40dp"
                android:layout_marginRight="40dp"
                android:verticalSpacing="7.5dp"
                android:horizontalSpacing="2dp"
                android:scrollingCache="true"
                android:smoothScrollbar="true"
                android:clipChildren="true"
                android:alwaysDrawnWithCache="true"
                android:numColumns="7"
                android:stretchMode="columnWidth"
                android:gravity="center_horizontal"
                app:layout_constraintBottom_toTopOf="@+id/action_sign_in"
                app:layout_constraintLeft_toLeftOf="@+id/iv_bg"
                app:layout_constraintRight_toRightOf="@+id/iv_bg"
                app:layout_constraintTop_toBottomOf="@+id/ll"/>

改完之后运行 完美的解决了问题~~

如图:GridView修改后的图

此时,我的心情是这样的:
陈独秀的秀

猜你喜欢

转载自blog.csdn.net/Life_s/article/details/80509899