79

我有一个带有 ScrollView 的应用程序,我不希望滚动条出现在屏幕上。如何在确保滚动仍然有效的同时隐藏 ScrollView 中的滚动条?

在此处输入图像描述

4

11 回答 11

192

在 Java 中添加以下代码:

myScrollView.setVerticalScrollBarEnabled(false);
myScrollView.setHorizontalScrollBarEnabled(false);

在 XML 中,将以下属性添加到您的 ScrollView:

android:scrollbars="none"

像这样:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/mainScroll"
android:scrollbars="none" <!-- line to be added -->
>
于 2012-02-29T06:04:11.993 回答
36

这将隐藏滚动条棒,但滚动条未被禁用

android:scrollbarThumbVertical="@null"

android:scrollbarThumbHorizontal="@null"

这将禁用滚动条

android:scrollbars="none"
于 2016-06-23T05:38:51.003 回答
14

在 XML 集中android:scrollbars="none"

于 2012-02-29T06:04:52.413 回答
7

试试这个,它也可以工作......

android:scrollbarThumbVertical="@null"

或者

android:scrollbarThumbHorizontal="@null"
于 2015-11-07T12:18:33.080 回答
5

在我的经验中,

android:scrollbarThumbVertical="@null"

可能会在旧设备中导致NullPointerException 。改用这个:

android:scrollbarThumbVertical="@android:color/transparent"

干杯!

于 2018-09-17T07:28:08.027 回答
3

您必须尝试以下解决方案

    android:scrollbars="none"

或者

    android:scrollbarThumbVertical="@null"
    android:scrollbarThumbHorizontal="@null"

或更改滚动条的颜色以隐藏它们

    android:scrollbarThumbVertical="@android:color/transparent"
于 2019-02-08T11:26:16.397 回答
2

在 XML 布局中,添加以下属性:

android:scrollbarSize="0dp"
于 2012-02-29T06:09:19.800 回答
2

要隐藏垂直滚动条,请在 XML 中执行此操作:

android:scrollbarThumbVertical="@null"

对于隐藏水平滚动条,请执行以下操作:

android:scrollbarThumbHorizontal="@null"

如果您想隐藏滚动条而不禁用它,上面的代码行将起作用。

要禁用滚动条,请写下:

android:scrollbars="none"
于 2017-10-06T18:45:48.190 回答
1

现在,如果您设置,滚动不再起作用android:scrollbars="none"

我已经解决了这个问题

  android:scrollbars="vertical" // or horizontal

并将其大小设置为 0 dp

  android:scrollbarSize="0dp"
于 2019-02-10T19:56:28.183 回答
1

如果您正在制作“自定义”Horizo​​ntalScrollView,那么您应该像这样在代码中设置这些属性

this.scrollBarSize = 0 this.isHorizontalScrollBarEnabled = false

这是我让我的工作的唯一方法。

于 2019-10-07T11:59:28.033 回答
1

Kotlin 解决方案

如果您需要以编程方式执行此操作,您可以设置以下一项或两项:

scrollView.isHorizontalScrollBarEnabled = false
scrollView.isVerticalScrollBarEnabled = false

如果您要定期应用两者,请尝试添加此扩展程序

fun ScrollView.noScrollbars() {
    isHorizontalScrollBarEnabled = false
    isVerticalScrollBarEnabled = false
}

为了轻松地允许切换,您可以添加一个可选的布尔值

fun ScrollView.noScrollbars(hide: Boolean = true) {
    isHorizontalScrollBarEnabled = !hide
    isVerticalScrollBarEnabled = !hide
}
于 2020-04-28T20:51:55.300 回答