ListView滚动条样式与边距/填充。

22

希望这个问题很简单。 v4.0.3

我有一个 ListView ,想要在右边和左边留出10dip的边距。 当然内容很容易,但我希望分隔线也有10dip的右边和左边边距。

如果我将android:PaddingRightandroid:layout_marginRight添加到包含ListView的LinearLayoutListView中,则这当然有效,但是列表滚动条出现在您向下滚动列表时右侧也会向内移动相同的填充/边距距离。

我希望滚动条指示器保持不变。 我尝试了所有的 android:scrollbarStyle 设置。


你也可以使用android:scrollbarStyle="outsideOverlay"。outsideInset将滚动条放置在定义的填充区域之外。"outsideOverlay"将其放置在填充区域内,即看起来更像Google Play应用程序。这在GridView上也适用。 - Karl
你可以在自己的问题下添加答案并将其标记为正确。 - Radu Simionescu
4个回答

11

可以轻松完成

<ListView
    android:id="@+id/lvDonorDetails"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:divider="@drawable/list_divider"
    android:dividerHeight="1dp"
    android:paddingLeft="10dp"
    android:paddingRight="10dp"
    android:scrollbarStyle="outsideInset"/>
<ListView
    android:id="@+id/lvDonorDetails"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:dividerHeight="1dp"
    android:padding="10dp"
    android:scrollbarStyle="outsideInset"/>

1
你可以创建新的滚动条拇指可绘制内容,关于滚动条的边距和填充,请按照您所需进行。请使用以下属性:
android:scrollbarThumbHorizontal="@drawable/your_drawable"
android:scrollbarThumbVertical="@drawable/your_drawable"

0
为了使ListView的各个项具有相等的边距(周围和之间),而不会出现滚动条覆盖ListView项,您可以使用以下代码:
<ListView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/listView"
    android:layout_gravity="center_horizontal|top"
    android:dividerHeight="10dp"
    android:divider="@android:color/transparent"
    android:padding="10dp"
    android:scrollbarStyle="outsideOverlay"/>

0

我曾经遇到过与滚动列表视图有关的问题。将其放入滚动视图中会限制列表视图仅在动态加载列表时加载一行,但最终找到了解决方法:包括

android:scrollbarAlwaysDrawVerticalTrack= "true"

android:fadeScrollbars="false"

在 ListView 标签内的属性。


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