98

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

1

11 Answers 11

234

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 -->
>
Sign up to request clarification or add additional context in comments.

5 Comments

can you tell me how can i handle onScrollChanged event?
See this question it may help. stackoverflow.com/questions/4263053/…
scroll functionality does NOT work with this solution
android:scrollbarSize="0dp"
Using scrollbars="none" doesn't allow the user to scroll sometimes
43

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 Comment

android:scrollbars="none" does not disable scrollbars.you can scroll but just hides ` scrollview stick`
17

In XML set android:scrollbars="none"

3 Comments

can you tell me how can i handle onScrollChanged event?
scroll functionality does NOT work with this solution
Do you know why this makes the view NOT scrollable?
9

Try this, it is also working...

android:scrollbarThumbVertical="@null"

or

android:scrollbarThumbHorizontal="@null"

Comments

5

In my experience,

android:scrollbarThumbVertical="@null"

can cause NullPointerException in older devices. Use this instead:

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

Cheers!

Comments

5

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"

Comments

3

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"

Comments

2

In the XML layout, add this property:

android:scrollbarSize="0dp"

Comments

2

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"

Comments

2

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
}

Comments

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.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.