105

私の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>

私はプラットフォーム2.1/APIレベル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

そもそもなぜあなたがにWebView入れているのか、私は少し混乱しています。ScrollViewAWebViewには独自のスクロールシステムが組み込まれています。

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 に答える