在Android中从ScrollView删除滚动条轨道

我的Android应用程序有一个主要的WebView(从本地资源加载的HTML),我想要使用整个屏幕的宽度,并能够(垂直)滚动。 所以我已经在我的布局XML的ScrollView中包装了WebView,但无论我做什么,我都无法从滚动视图的右侧移除滚动条轨道。 更糟的是,我似乎无法改变滚动条轨道的背景颜色。

该轨道占用约10dp左右,这是在WebView的HTML创build问题。 我想滚动条出现 Web视图的顶部 (iPhone风格,如果你知道我的意思)。 现在,你可以说“你为什么不改变你的HTML 10px更薄?”,这是我的后备解决scheme,但我宁愿不必。

这里是相关的布局XML片段,你会看到我已经尝试了每个可以find的android:etc属性:

<ScrollView android:id="@+id/deal_web_view_holder" android:layout_below="@id/clock_bar_holder" android:layout_width="fill_parent" android:layout_height="fill_parent" android:fillViewport="false" android:fadingEdge="none" android:background="#02a7e9" android:scrollbars="none" android:scrollbarSize="0dp" android:paddingRight="0dp" android:scrollbarAlwaysDrawVerticalTrack="false" android:scrollbarStyle="insideOverlay" android:scrollbarTrackVertical="@drawable/scrollbar_track_vertical" > <WebView android:id="@+id/deal_web_view" android:layout_width="fill_parent" android:layout_height="wrap_content"/> </ScrollView> 

我的目标是平台2.1 / API lvl 7,真的只是处理正常大小的显示器,mdp,hdp和xhdp。

通过xml从视图(及其子类)中移除滚动条:

 android:scrollbars="none" 

http://developer.android.com/reference/android/view/View.html#attr_android:scrollbars

试试这是你的活动创build:

 ScrollView sView = (ScrollView)findViewById(R.id.deal_web_view_holder); // Hide the Scollbar sView.setVerticalScrollBarEnabled(false); sView.setHorizontalScrollBarEnabled(false); 

http://developer.android.com/reference/android/view/View.html#setVerticalScrollBarEnabled%28boolean%29

我有点困惑,为什么你要把WebView放到ScrollView中。 一个WebView有它自己的内置滚动系统。

关于您的实际问题,如果您希望Scrollbar显示在最上面,您可以使用

 view.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY) or android:scrollbarStyle="insideOverlay" 

解决了我的问题,将其添加到我的Listview

 android:scrollbars="none" 

这些解决scheme失败在我的情况相对布局和如果KeyBoard是打开android:scrollbars="none"android:scrollbarStyle="insideOverlay"也无法正常工作。

工具栏消失了,我完成的button不见了。

不工作

这一个是为我工作

 myScrollView.setVerticalScrollBarEnabled(false);