2015-04-02 71 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);