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

Mic*_*rne 102 android scrollview android-layout android-scrollbar

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

该轨道占用大约10dp左右,这为WebView中的HTML带来了问题.我希望滚动条显示 Web视图的顶部(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>
Run Code Online (Sandbox Code Playgroud)

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

Gar*_*ahd 502

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

android:scrollbars="none"
Run Code Online (Sandbox Code Playgroud)

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

  • 它可以工作,但是当键盘打开时你将无法滚动屏幕 (10认同)
  • 这应该是正确的答案. (6认同)
  • android:scrollbarThumbVertical ="@ null"如果你希望你的屏幕在键盘打开时滚动,请在scrollview上添加这个:) (3认同)

jkh*_*uw1 28

试试这是你创建的活动:

ScrollView sView = (ScrollView)findViewById(R.id.deal_web_view_holder);
// Hide the Scollbar
sView.setVerticalScrollBarEnabled(false);
sView.setHorizontalScrollBarEnabled(false);
Run Code Online (Sandbox Code Playgroud)

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


Chr*_*vey 18

我有点困惑你为什么要把它WebView放到一ScrollView开始.A WebView拥有自己的内置滚动系统.

关于你的实际问题,如果你想要Scrollbar显示在最上面,你可以使用

view.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY) or   
android:scrollbarStyle="insideOverlay"
Run Code Online (Sandbox Code Playgroud)

  • 不工作.正确的答案是Garzahd的答案. (3认同)
  • 正确答案如下,android:scrollbars ="none" (3认同)

Sam*_*Sam 5

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

android:scrollbars="none"
Run Code Online (Sandbox Code Playgroud)