用填充重新定位ListView的滚动条


73

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

当前列表看起来像这样:

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

最右边的线是屏幕的边缘,#s是滚动条,右边ListView的空白是的填充。

我想要的滚动条位于填充的右侧,如下所示:

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

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

请注意,当前每行都有一个由适配器设置的单独背景,因为我正在为自己的窗口创建浮动窗口ListView,但不幸的是,我的一个屏幕要求我执行此操作才能使其看起来像我想要的样子。


2
为将来的读者澄清:outsideOverlay不更改列表中项目的水平位置;outsideInset添加一些填充,稍微移动项目的右边缘。
理查德·勒·马苏里埃

Answers:


163

尝试这个:

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

如果使用此选项,则不再显示滚动条。它只是消失了
Janusz

2
我使用了android:scrollbarStyle =“ outsideInset”,它在HTC Desire上运行良好,但在Galaxy S上却无法正常工作。请帮助我解决此问题。
Nuraiz 2012年

+1。并且,如果它对您不起作用,请确保您没有margin attributes在ListView中使用任何东西。
iTurki 2015年

使用填充,而不是TextView中的空白,可以正常工作。
Parth Patel

35

将此添加到您的列表视图

android:scrollbarStyle="outsideInset"

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


我想在右侧填充。这个解决方案对我不起作用
兔子
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.