2015-04-02 54 views
6

我无法启用Android上的WebView上的缩放功能,因此无法解决问题。我不熟悉所有问题,在WebView中启用缩放android

作为新来的人,我不能附上图像。

WebViewActivity.java

package com.mkyong.android; 

import android.app.Activity; 
import android.os.Bundle; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 


public class WebViewActivity extends Activity { 

    private WebView webView; 

    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.webview); 

     webView = (WebView) findViewById(R.id.webView1); 
     webView.getSettings().setBuiltInZoomControls(true); 
     webSettings.setSupportZoom(true); 
     webView.getSettings().setLoadWithOverviewMode(true); 
     webView.getSettings().setUseWideViewPort(true); 
     webView.getSettings().setJavaScriptEnabled(true); 
     webView.loadUrl("http://200.99.150.163/sacsptrans/hrecinicial.aspx"); 


     webView.setWebViewClient(new WebViewClient() 
     { 
         // prevent open in external browser 
      @Override 
      public boolean shouldOverrideUrlLoading(WebView view, String url) 
      { 
       return false; 
      } 

     }); 

    } 

MainActivity.java

package com.mkyong.android; 

import android.app.Activity; 
import android.content.Context; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 

public class MainActivity extends Activity { 

    private Button button; 

    public void onCreate(Bundle savedInstanceState) { 
     final Context context = this; 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     button = (Button) findViewById(R.id.buttonUrl); 

     button.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View arg0) { 

       Intent intent = new Intent(context, WebViewActivity.class); 
       startActivity(intent); 
      } 

     }); 

    } 

} 

回答

2

为了在web视图启用缩放,添加以下代码onTuchEvent覆盖方法

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

如果您webview去到另一个URL,你想十个分量缩放级别 使用webSettings

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

如果你想有一个预先定义的变焦时webview负载使用:

mWebView.setInitialScale(ZOOM_LEVEL); // int value 50 = 50% -- 200 = 200% 

它适用于所有设备的分辨率。

UPDATE:如果任何那些正在努力(weeeird ...)试试这个:

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"); 
    } 
} 

this question.

+0

不幸的是它没有工作 – 2015-04-02 14:15:20

+1

你使用哪个api?我应该在任何API 7后工作...无论如何检查我的编辑:) – 2015-04-02 14:19:57

+0

minSdkversion =“10” – 2015-04-02 14:35:42

3
webView.getSettings().setBuiltInZoomControls(true); 

如果您需要更先进的webView可以使用webview sample

+0

我已经做到了,并没有工作,有什么其他建议? – 2015-04-02 14:14:49

1
webView.getSettings().setBuiltInZoomControls(true); 
webView.getSettings().setDisplayZoomControls(false);