105

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

轨道占用大约 10dp 左右,这给 WebView 中的 HTML 带来了问题。我希望滚动条出现在 Web 视图的顶部(iPhone 风格,如果你明白我的意思的话)。现在,您可以说“为什么不将您的 HTML 更改为 10 像素?”,这是我的后备解决方案,但我宁愿不必这样做。

这是布局 XML 的相关片段,你会看到我已经尝试了我能找到的每个 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。

4

6 回答 6

509

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

android:scrollbars="none"

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

于 2012-01-20T02:55:31.300 回答
29

试试这是你的活动 onCreate:

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

于 2011-06-08T01:34:24.517 回答
18

我有点困惑,为什么您首先将 aWebView放入 aScrollView中。AWebView有它自己的内置滚动系统。

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

view.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY) or   
android:scrollbarStyle="insideOverlay"
于 2011-06-08T01:55:23.330 回答
5

通过将其添加到我的解决我的问题ListView

android:scrollbars="none"
于 2017-04-28T20:12:43.647 回答
4

android:scrollbars="none"在我的情况下,这些解决方案使用相对布局失败, 如果键盘打开 android:scrollbarStyle="insideOverlay"并且也不起作用。

工具栏不见了,我的完成按钮不见了。

不工作

这个为我工作

myScrollView.setVerticalScrollBarEnabled(false);
于 2017-08-18T06:47:35.860 回答
2

通过使用下面,解决了问题

android:scrollbarThumbVertical="@null"
于 2018-10-25T06:31:11.853 回答