web-dev-qa-db-ja.com

AndroidのScrollViewからスクロールバートラックを削除します

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を処理しています。

100
Mick Byrne

Xmlを使用してビュー(およびそのサブクラス)からスクロールバーを削除するには:

Android:scrollbars="none"

http://developer.Android.com/reference/Android/view/View.html#attr_Android:scrollbars

499
Garzahd

これを試してみてくださいあなたのアクティビティ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

28
jkhouw1

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

実際の質問に関して、Scrollbarを一番上に表示したい場合は、次を使用できます。

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

これをListViewに追加して問題を解決しました:

Android:scrollbars="none"
5
Sam

これらのソリューションは、相対レイアウトでの私のケースでは失敗し、KeyBoardが開いている場合はAndroid:scrollbars="none"Android:scrollbarStyle="insideOverlay"も機能しません。

ツールバーがなくなり、完了ボタンがなくなりました。

not Working

これは私のために働いています

myScrollView.setVerticalScrollBarEnabled(false);
4

以下を使用して、問題を解決しました

Android:scrollbarThumbVertical="@null"
2
Dhrubotara