【发布时间】:2011-09-11 09:41:00
【问题描述】:
这是一个关于 Android 中 ListView 中项目布局的非常好的问题。
我有一个顶部有标题栏的活动,而 ListView 占据了屏幕的其余部分。我希望我的 ListView 在左侧、右侧和顶部显示 10dp 填充,但是当您向上滚动 ListView 时,我希望它在消失在褪色边缘之前覆盖顶部 10dp 填充。同样,当您滚动到底部时,最后一个列表项应该在最后一个列表项的底部和屏幕的实际底部之间出现 10dp(如果您想知道为什么,那是因为我想要一个漂亮的背景图像在 ListView 周围探出头来)。
我尝试向 ListView 本身添加填充,但是当您滚动列表时,它会在填充边缘下消失。
我来自网络开发背景,类比是在第一个列表项上方(最后一个列表项下方)添加边距。
【问题讨论】:
-
仅指定左右边距...尝试在此处粘贴您的 xml,以便我可以看到问题编辑:等等,您的意思是....您希望顶部和底部填充滚动也是?
-
我无法指定左右边距 - Android 布局中没有“边距”,只有填充。但是,是的,我确实希望顶部和底部的内边距能够滚动——这是描述它的好方法。
-
我已经尝试了几种方法,但仍然失败..我有一些技巧要做,但它会更难做...你将 2 个自定义对象放在列表项的第一个和最后一个位置..并使用自定义适配器检测项目并以不同方式绘制它(窄高度和透明)
-
是的......这也是我一直在考虑的。但这有各种各样的复杂性,因为我需要在列表项中设置背景颜色,而不是视图,这意味着我需要手动修改一些效果来显示你何时点击了东西.无论如何感谢您的帮助...
-
好消息..我得到了解决方案...您可以在 ListActivity 上使用 addHeaderView(View v).. 只需调用
getListView(). addHeaderView(capView)和getListView(). addHeaderView(botView)确保在初始化内容之前调用它列出例如。 setListAdapter(适配器);
标签: android android-layout android-listview