如何在Android中为列表视图项和滚动条之间添加填充/间距

32

我有一个ListView,在列表项和滚动条之间想要添加间距/边距/填充。

:ListView:
+------------------------+------------+----------+
|List Item 1             |            |          |
+------------------------+            |          |
|List Item 2             |----Space---|  Scroll  |
+------------------------+            |    Bar   |
|List Item 3             |            |          |
+------------------------+------------+----------+

你尝试过在列表项布局中添加填充吗? - Jave
是的,我已经尝试过了,但是滚动条拇指仍然出现在列表项旁边,没有间距。 - User7723337
你在列表项的布局中放置了填充吗?也就是说,不是列表本身。 - Jave
3个回答

71

我已经找到解决方案:
将滚动条样式设置为outsideInset,然后添加滚动条右侧的填充。

android:scrollbarStyle="outsideInset"
android:paddingRight="10dp"

就是这样!


在右侧添加填充会改变所有子元素的触摸目标宽度。如果您不关心设计,可以使用此方法。 - Michael
很好。如果您想要滚动条的工作方式与iOS相同,您应该使用outsideOverlay - Ratata Tata
哇!我找了好几个小时才找到这个!谢谢你!我用这个完美地解决了我的问题! - Wooseong Kim

2

我想我的TableLayout也是这样的。Padding可以帮助我解决问题。对于你,应该是:

android:paddingRight="10dip"

是的。如果在ScrollView中添加ListView,您的ListView将随着ScrollView一起滚动。

尝试这个。希望它能给您想要的结果。


填充(padding)不能设置滚动条拇指和列表项之间的填充。这对我不起作用。 :( - User7723337
尝试在您的ScrollView中添加paddingLeft。填充会在两个组件之间留下一些空间。为了更好地查看结果,最初给出较高的“dip”值。还要设置ListView的背景颜色,这样当添加填充时,您将看到列表和ScrollView之间的额外空间。我在水平和垂直滚动视图中使用TableLayout成功。试试吧。 - Tvd

0

你必须使用Fragments

1º 加载包含3个垂直布局的内容视图

2º 然后,在不同的xml中使用3个想要的片段,并在每个片段中加载内容。

3º 设置布局之间的边距。

你可以参考这个好的例子Here


谢谢回复,但是有没有仅使用XML代码就能实现的简单解决方案呢? - User7723337
我认为这是不可能的,因为你必须使用setContentView,并使用XML结构来组合它们,你必须使用片段。它是一样的,只是不同的部分在不同的XML中。 - vgonisanz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接