我的Android应用程序有一个主WebView(从本地资源加载的HTML),我想使用整个屏幕宽度,并能够(垂直)滚动。所以我在我的布局XML中将WebView包装在ScrollView中,但无论我做什么,我似乎都无法从滚动视图的右侧删除滚动条轨道。更糟糕的是,我似乎无法改变滚动条轨道的背景颜色。
该曲目占用大约10dp左右,这为WebView中的HTML带来了问题。我希望滚动条在网页视图的顶部上显示(iPhone风格,如果你知道我的意思)。现在,您可以说“为什么不将您的HTML更改为10px更薄?”,这是我的后备解决方案,但我宁愿不必这样做。
这是布局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。
答案 0 :(得分:491)
通过xml:
从视图(及其子类)中删除滚动条android:scrollbars="none"
http://developer.android.com/reference/android/view/View.html#attr_android:scrollbars
答案 1 :(得分:26)
试试这是你的活动onCreate:
ScrollView sView = (ScrollView)findViewById(R.id.deal_web_view_holder);
// Hide the Scollbar
sView.setVerticalScrollBarEnabled(false);
sView.setHorizontalScrollBarEnabled(false);
答案 2 :(得分:17)
我有点困惑为什么你首先将WebView
放入ScrollView
。 WebView
拥有自己的内置滚动系统。
关于您的实际问题,如果您希望Scrollbar
显示在最顶层,您可以使用
view.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY) or
android:scrollbarStyle="insideOverlay"
答案 3 :(得分:4)
将此问题添加到我的ListView
:
android:scrollbars="none"
答案 4 :(得分:3)
这些解决方案在我的情况下使用相对布局失败并且如果KeyBoard是打开的
android:scrollbars="none"
&amp;
android:scrollbarStyle="insideOverlay"
也无效。
工具栏消失了,我的完成按钮消失了。
这是为我工作
myScrollView.setVerticalScrollBarEnabled(false);
答案 5 :(得分:1)
通过下面的使用,解决了问题
android:scrollbarThumbVertical="@null"