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

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.