1. ホーム
  2. android

[解決済み] webviewのスクロールを無効にする?

2023-04-26 01:13:47

質問

これまでiPhoneの開発者でしたが、このたびAndroidに挑戦することにしました。Android で解明できていないことは、プログラム的に、スクロールを防ぐために WebView ?

iPhoneの onTouchMove イベントの防止に似たものがあれば最高です。

どのように解決するのですか?

以下は、私のコードです。 すべてのスクロールを無効にする のコードです。

  // disable scroll on touch
  webview.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
      return (event.getAction() == MotionEvent.ACTION_MOVE);
    }
  });


スクロールバーを隠すだけで、スクロールを無効化しないようにする。

WebView.setVerticalScrollBarEnabled(false);
WebView.setHorizontalScrollBarEnabled(false);


または シングルカラムレイアウト を使うこともできますが、これは単純なページでしか機能しませんし、水平方向のスクロールを無効にします。

   //Only disabled the horizontal scrolling:
   webview.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);


を試すこともできます。 ウェブビューをラップする を垂直方向にスクロールするスクロールビューでラップし、ウェブビューのすべてのスクロールを無効にしてください。

<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollbars="vertical"    >
  <WebView
    android:id="@+id/mywebview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:scrollbars="none" />
</ScrollView>

そして、セット

webview.setScrollContainer(false);

を追加することを忘れないでください。 webview.setOnTouchListener(...) のコードを追加して、WebView のスクロールをすべて無効にしてください。垂直方向のScrollViewは、WebViewのコンテンツのスクロールを可能にします。