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を処理しています。
Xmlを使用してビュー(およびそのサブクラス)からスクロールバーを削除するには:
Android:scrollbars="none"
http://developer.Android.com/reference/Android/view/View.html#attr_Android:scrollbars
これを試してみてくださいあなたのアクティビティonCreate:
ScrollView sView = (ScrollView)findViewById(R.id.deal_web_view_holder);
// Hide the Scollbar
sView.setVerticalScrollBarEnabled(false);
sView.setHorizontalScrollBarEnabled(false);
そもそもWebView
をScrollView
に入れているのは少し混乱しています。 WebView
には、独自の組み込みスクロールシステムがあります。
実際の質問に関して、Scrollbar
を一番上に表示したい場合は、次を使用できます。
view.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY) or
Android:scrollbarStyle="insideOverlay"
これをListView
に追加して問題を解決しました:
Android:scrollbars="none"
以下を使用して、問題を解決しました
Android:scrollbarThumbVertical="@null"