在项目中做一个日历签到的模块,遇到的问题是日期和星期的标题一直不能对齐
调试了半天都不能决绝
文字不好描述 直接上图来说明问题 为了区分开 我加了一个背景色 好看出问题
可以明显看出 周日和周六的差距 往左偏移了 因为日期和星期是相互约束的 怎么调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"/>
改完之后运行
完美的解决了问题~~
如图:
此时,我的心情是这样的: