自定义 Android ScrollView 的垂直滚动条

Posted

技术标签:

【中文标题】自定义 Android ScrollView 的垂直滚动条【英文标题】:Customizing Android ScrollView's Vertical Scrollbar 【发布时间】:2013-05-18 14:11:20 【问题描述】:

我需要自定义ScrollView,使它看起来像图片中的样子: 我已经成功自定义了ThumbTrack,但是我不知道如何添加Arrows,就像我提供的图片中一样。 这是我正在使用的样式:

<!-- Scrollbar -->
    <style name="scroll_view">  
        <item name="android:scrollbarAlwaysDrawVerticalTrack">true</item>
        <item name="android:scrollbars">vertical</item>
        <item name="android:fadeScrollbars">false</item>
        <item name="android:scrollbarThumbVertical">@drawable/sb_thumb</item>
        <item name="android:scrollbarTrackVertical">@drawable/sb_track_vertical_bg</item>
    </style>

Arrows 应该是ScrollView 样式的一部分以避免额外的间距,而且它们需要简单、不可点击等。

【问题讨论】:

你不能简单地将箭头插入用于轨道的drawable中吗? 我可以,但是滚动条指针会滚动到箭头上。 作为一个小技巧,你不能在拇指可绘制对象上添加一些与箭头部分一样大的透明空间吗? 我可以肯定,但我想知道我是否有更智能的方法来实现解决方案。谢谢。 我不记得 SDK 中有任何内容可以直接修改视图的滚动条。 【参考方案1】:

如果要为向上和向下添加按钮,可以在 Scrollview 的上方和下方放置两个按钮。并以编程方式在按钮单击时滚动滚动条。 为此,您可以使用以下代码,

scrollview.scrollTo(5, 10);

【讨论】:

感谢您的回答,但必须是一种更简单的方法,只需通过样式将不可点击的页眉和页脚放置到垂直轨道。

以上是关于自定义 Android ScrollView 的垂直滚动条的主要内容,如果未能解决你的问题,请参考以下文章

自定义 Android ScrollView 的垂直滚动条

Android中Scrollview嵌套viewpage问题:viewpage设置非固定高点,按照自定义的scrollview 还是不能解决.

Android的FixScrollView自定义控件

将自定义视图放入自定义 ScrollView

Android 自定义ScrollView 支持惯性滑动,惯性回弹效果。支持上拉加载更多

android 自定义scrollview 仿QQ空间效果 下拉伸缩顶部图片,上拉回弹 上拉滚动顶部title 颜色渐变