Android ListView:内部顶部/底部边距作为可滚动内容的一部分

时间:2013-06-14 05:01:42

标签: android android-listview android-scrollview

我有ListView我希望看起来像一张卡片。我有一个9补丁用作背景,可以实现凸起的卡片外观。

在可能的情况下,它比屏幕大,我希望能够在我的卡片背景上看到一个上边距,当我向下滚动列表时,边距应该被推离屏幕。当我滚动到底部时,我应该同样看到底部边距出现。

ListView.addHeaderView().addFooterView()不会在我的情况下删除它,因为它们会成为支持ListAdapter的一部分并在我的卡背景范围内绘制。

我已经看到了一种可行的技术 - 用ListAdapter包裹一个用我想要的卡背景元素装饰每个项目的技术。在这种方法中,每个项目都会绘制卡片背景的一部分。

然而,这比我想要的效率低,而且它似乎不属于ListAdapter中的逻辑。相反,我正在寻找一种方法来扩展ListView以添加此行为,但我发现自己在尝试阅读AbsListViewListView中的10,000行(严重)代码时迷路了

我认为一年前在这里问了几乎同样的问题,但没有答案: (Android) How to fill ListView background and preserve header transparency

修改

另一种查看此问题的方法:是否有办法使背景与列表项一起滚动?我认为答案是否定的 - 我相信背景(即ListView小部件)相对于屏幕而言是固定的,而不是其中的可滚动内容。如果我按照这种思路走上正轨,那么ListAdapter - 带部分背景的每个项目方法似乎是唯一可行的方法。

0 个答案:

没有答案