调整带有填充的ListView滚动条位置

77

我有一个带右(和左)填充的ListView

目前列表看起来像这样:

-----------------  |
| ROW         | |  |
|-------------| |  |
| ROW         | |  |
|-------------|#|  |
| ROW         |#|  |
|-------------| |  |
| ROW         | |  |
-----------------  |

在屏幕的最右边是边缘线,其中#表示滚动条,白色空间表示ListView的右侧填充。

我想要的是滚动条在填充区域的右侧,像这样:

                    _
-----------------  | |
| ROW           |  | |
|---------------|  | |
| ROW           |  |#|
|---------------|  |#|
| ROW           |  |#|
|---------------|  | |
| ROW           |  | |  
-----------------  |_|

有没有可能像这样移动滚动条,或者我必须为每一行更改布局以具有正确大小的不可见边框?

注意,目前每行都有一个由适配器设置的单独背景,因为我正在为我的 ListView 制作浮动窗口,不幸的是,我的其中一个屏幕需要我这样做才能按照我想要的方式进行设计。


2
为了方便未来的读者理解,outsideOverlay 不会改变列表项的水平位置;而 outsideInset 则会添加一些填充,使得列表项的右边缘向内移动一点。 - Richard Le Mesurier
2个回答

167

试试这个:

<ListView
    ...
    android:scrollbarStyle="outsideOverlay" />

如果我使用这个,滚动条就不会再显示出来了。它只是消失了。 - Janusz
2
我使用了android:scrollbarStyle="outsideInset",在HTC Desire上运行良好,但在Galaxy S上不起作用。请帮我解决这个问题。 - Nuraiz
+1。如果这对你不起作用,请确保在ListView中没有使用任何“margin属性”。 - iTurki
在TextView中,使用padding而不是margin可以正常工作。 - Parth Patel

37

将此添加到您的列表视图中

android:scrollbarStyle="outsideInset"

它将添加一些填充,滚动条将位于外部


我想在右侧添加填充。这个解决方案对我不起作用。 - Bunny

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