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?
-
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 Answers
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 -->
>
- 41,600
- 19
- 198
- 177
- 5,697
- 2
- 29
- 40
-
-
See this question it may help. http://stackoverflow.com/questions/4263053/android-scrollview-onscrollchanged – Umar Qureshi Feb 29 '12 at 06:35
-
16
-
-
Using scrollbars="none" doesn't allow the user to scroll sometimes – tiagocarvalho92 Dec 27 '19 at 15:07
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"
- 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
Try this, it is also working...
android:scrollbarThumbVertical="@null"
or
android:scrollbarThumbHorizontal="@null"
- 3,655
- 3
- 36
- 61
In my experience,
android:scrollbarThumbVertical="@null"
can cause NullPointerException in older devices. Use this instead:
android:scrollbarThumbVertical="@android:color/transparent"
Cheers!
- 5,648
- 2
- 59
- 76
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"
- 126
- 7
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"
- 25,310
- 18
- 114
- 149
- 433
- 6
- 16
In the XML layout, add this property:
android:scrollbarSize="0dp"
- 25,310
- 18
- 114
- 149
- 6,028
- 5
- 35
- 54
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"
- 626
- 8
- 12
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.
- 1,497
- 18
- 28
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
}
- 33,561
- 12
- 157
- 107