81

I have an app with a ScrollView, and I don't want the scrollbar to appear on the screen. How can I hide the scrollbar in a ScrollView while making sure scrolling still works?

enter image description here

live-love
  • 41,600
  • 19
  • 198
  • 177
Nikunj Patel
  • 21,388
  • 23
  • 87
  • 131
  • Possible duplicate of [Remove scroll bar track from ScrollView in Android](https://stackoverflow.com/questions/6273335/remove-scroll-bar-track-from-scrollview-in-android) – Erick Petrucelli Dec 03 '18 at 12:42

11 Answers11

197

In Java add this code:

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

In XML add following attribute to your ScrollView:

android:scrollbars="none"

Like this:

<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 -->
>
live-love
  • 41,600
  • 19
  • 198
  • 177
Umar Qureshi
  • 5,697
  • 2
  • 29
  • 40
36

This will hide the Scroll bar stick but scroll bar is not disable

android:scrollbarThumbVertical="@null"

android:scrollbarThumbHorizontal="@null"

This will disable the scroll bar

android:scrollbars="none"
Kishor N R
  • 1,451
  • 1
  • 16
  • 21
  • 1
    `android:scrollbars="none"` does not disable scrollbars.you can scroll but just hides ` scrollview stick` – MMK Nov 14 '18 at 08:44
14

In XML set android:scrollbars="none"

Talha Ahmed Khan
  • 14,542
  • 10
  • 41
  • 48
Ramesh Akula
  • 5,630
  • 4
  • 40
  • 65
7

Try this, it is also working...

android:scrollbarThumbVertical="@null"

or

android:scrollbarThumbHorizontal="@null"
Khan
  • 3,655
  • 3
  • 36
  • 61
5

In my experience,

android:scrollbarThumbVertical="@null"

can cause NullPointerException in older devices. Use this instead:

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

Cheers!

user1506104
  • 5,648
  • 2
  • 59
  • 76
3

you have to try the following solutions

    android:scrollbars="none"

OR

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

OR Change color of scrollBars to hide them

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

For hiding a vertical scrollbar, do this in the XML:

android:scrollbarThumbVertical="@null"

And for Hiding horizontal scrollbar do this :

android:scrollbarThumbHorizontal="@null"

The above lines of codes will work if you want to hide the scrollbar without disabling it.

And for disabling a scrollbar, write this:

android:scrollbars="none"
Zoe stands with Ukraine
  • 25,310
  • 18
  • 114
  • 149
saurabh gupta
  • 433
  • 6
  • 16
2

In the XML layout, add this property:

android:scrollbarSize="0dp"
Zoe stands with Ukraine
  • 25,310
  • 18
  • 114
  • 149
Maneesh
  • 6,028
  • 5
  • 35
  • 54
1

Now the scroll does not work anymore if u set android:scrollbars="none"

I have solved the problem with

  android:scrollbars="vertical" // or horizontal

and setting its size to 0 dp

  android:scrollbarSize="0dp"
Matej Vukosav
  • 626
  • 8
  • 12
1

If you are making "custom" HorizontalScrollView then you should set those properties in code like so

this.scrollBarSize = 0 this.isHorizontalScrollBarEnabled = false

That is the only way I got mine to work.

saintjab
  • 1,497
  • 18
  • 28
1

Kotlin Solution

If you need to do this programmatically, you can set either one or both of:

scrollView.isHorizontalScrollBarEnabled = false
scrollView.isVerticalScrollBarEnabled = false

If you'll be applying both regularly, try adding this extension

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

To easily allow switching, you can add an optional boolean

fun ScrollView.noScrollbars(hide: Boolean = true) {
    isHorizontalScrollBarEnabled = !hide
    isVerticalScrollBarEnabled = !hide
}
Gibolt
  • 33,561
  • 12
  • 157
  • 107