列表项顶部的Android列表视图滚动条

时间:2014-12-18 14:52:36

标签: android android-listview android-scrollbar

我有一个带滚动条的列表视图。我希望滚动条位于右侧列表项的顶部,但右边有一个小边距。因此滚动条略微缩进,并且不会停留在列表视图的右侧。

我正在使用<item name="android:scrollbarStyle">insideOverlay</item>并为我的android:scrollbarThumbVertical设置了一个自定义绘图。对于我的android:scrollbarTrackVertical,我只需将其设置为完全透明的颜色。

我尝试在列表视图中添加android:layout_marginRightandroid:paddingRight,但这使得listview项目没有超出滚动条。我想要的是列表视图项目在scorllbar下面,并在另一侧稍微可见。

我有什么遗失的吗?我可以发布更多代码,但我想保持简单易用,但如果有更多帮助,请告诉我。

谢谢!

编辑:以防它有用,这里有更多代码:

<RelativeLayout
     android:id="@+id/mainRL"
     android:layout_width="0dp"
     android:layout_height="match_parent"
     android:layout_weight="1">
     <ListView
         android:id="@+id/mainLV"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         style="@style/scrollbar_shape_style">
     </ListView>
</RelativeLayout>

<style name="scrollbar_shape_style">
    <item name="android:scrollbarAlwaysDrawVerticalTrack">true</item>
    <item name="android:scrollbars">vertical</item>
    <item name="android:fadeScrollbars">true</item>
    <item name="android:scrollbarThumbVertical">@drawable/scrollbar_vertical_thumb</item>
    <item name="android:scrollbarTrackVertical">@color/fully_transparent</item>
    <item name="android:scrollbarSize">12dp</item>
    <item name="android:scrollbarFadeDuration">@integer/fade_ms</item>
    <item name="android:scrollbarDefaultDelayBeforeFade">@integer/ms_to_fade</item>
    <item name="android:scrollbarStyle">insideOverlay</item>
</style>

编辑2:我尝试了答案:How to set margin for Vertical Scrollbar from the right edge in ListView?(顶部的图片是我的目标顺便说一句),该解决方案无效。它只是移动我的listview项目,它不会使滚动条插入更大。

1 个答案:

答案 0 :(得分:1)

我最终改变了我的绘画。这是代码:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
    <shape>
        <gradient
            android:angle="0"
            android:endColor="@color/primary_dark"
            android:startColor="@color/primary_neutral" />
        <corners android:radius="6dp" />

        <stroke
            android:width="16dp"
            android:color="@color/fully_transparent" />
    </shape>
</item>
</layer-list>

然后,我将<item name="android:scrollbarSize">12dp</item>更改为24dp。这导致条形宽8dp,偏移16dp。