-1

我有一个基于 GridView 生成日历的 Caldroid 片段。它需要完整的屏幕。然后我在这个活动的底部添加了一个 AdView,问题是横幅覆盖了网格的一些单元格,因此用户无法点击它们。基本上,我想在 GridView 的内部设置一个边距,以允许用户向下滚动日历,当日历到达末尾时,它会继续滚动更多边距。此边距将设置为横幅的高度。

如有必要,我准备修改 caldroid 代码,但我找不到如何使用 GridView 产生这种效果。设置底部填充可避免与 AdView 重叠,但通过丢弃整个宽度,我希望在未完全向下滚动时看到横幅右侧和左侧的日历。

可能的解决方案:

-也许通过为适配器生成的单元格添加边距可以做到这一点,但我需要知道它们是否来自最后一行。使用 getItemId 总是返回 0,getClipBounds 和 getClipToOutline 方法仅限于 API 21。

4

2 回答 2

0

在 GirdView 中使用android:clipToPadding="false " 和 android:paddingBottom=

<GridView android:id="@+id/list"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="16dip"
    android:clipToPadding="false" />
于 2015-05-13T12:47:43.523 回答
0

我不明白为什么你需要边距。你不能把你的GridView和你的AdView放在同一个RelativeLayout中吗

在 GridView 上

android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="x" 

在 AdView 上

android:layout_alignParentBottom="true"

x 是 AdView 的高度

没有重叠的功能性卷轴。

于 2015-05-13T12:49:52.107 回答