我有一个带滚动条的列表视图。我希望滚动条位于右侧列表项的顶部,但右边有一个小边距。因此滚动条略微缩进,并且不会停留在列表视图的右侧。
我正在使用<item name="android:scrollbarStyle">insideOverlay</item>
并为我的android:scrollbarThumbVertical
设置了一个自定义绘图。对于我的android:scrollbarTrackVertical
,我只需将其设置为完全透明的颜色。
我尝试在列表视图中添加android:layout_marginRight
和android: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项目,它不会使滚动条插入更大。
答案 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。