Android webview缩放以显示所有页面内容

时间:2016-09-10 17:22:36

标签: android webview

我刚从Android开发开始,我无法在任何地方找到满意的答案。

我正在尝试构建一个Android平板电脑应用,以在网页浏览中显示此网页(https://www.megaseatingplan.com/app/edit-seating-app.php)。页面上内容的大小因用户而异。我希望所有内容都不会滚动显示在webview中。

到目前为止,我已使用myWebView.getSettings().setUseWideViewPort(true);myWebView.getSettings().setLoadWithOverviewMode(true);将页面调整为webview的宽度。这很好用,但是我需要它来为页面的高度做同样的事情。

有什么想法吗?我显然可以访问我正在加载的网页代码,因此无论是网络端还是应用程序端的解决方案对我都有用。

谢谢。

1 个答案:

答案 0 :(得分:0)

webView.getSettings().setBuiltInZoomControls(true); 

如果您需要更多高级webView,可以使用webview示例。

为了在webView上启用缩放,请在onTuchEvent覆盖方法中添加以下代码:

webview.getSettings().setBuiltInZoomControls(true);
webview.getSettings().setSupportZoom(true);

如果您的网页视图转到另一个网址,并且您希望保留缩放级别,请使用webSettings类

webview.getSettings().setDefaultZoom(WebSettings.ZoomDensity.FAR);

如果您想在webview加载时使用预定义的缩放:

mWebView.setInitialScale(ZOOM_LEVEL); // int value 50 = 50% - 200 = 200% 它适用于所有设备分辨率。

OR

public class Main extends Activity {
  private WebView myWebView;
  private static final FrameLayout.LayoutParams ZOOM_PARAMS = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT,Gravity.BOTTOM);

      @Override
      protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.setContentView(R.layout.webview);
        this.myWebView = (WebView) this.findViewById(R.id.webView);

        FrameLayout mContentView = (FrameLayout) getWindow().
        getDecorView().findViewById(android.R.id.content);
        final View zoom = this.myWebView.getZoomControls();
        mContentView.addView(zoom, ZOOM_PARAMS);
        zoom.setVisibility(View.GONE);

        this.myWebView.loadUrl("http://www.facebook.com");
      }
    }