2015-04-02 2 views
6

Я не могу позволить зажим трансфокатора на WebView в AndroidВключить масштабирование в WebView андроида

Я новичок в программировании, уже перепробовали все и не может решить эту проблему.

Будучи новым здесь, я не могу прикрепить изображение.

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

Для того, чтобы дать возможность увеличения на WebView, добавьте следующий код в onTuchEvent метод коррекции:

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

Если webview идет на другой адрес, и вы хотите его поддерживать уровень масштабирования использовать 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

К сожалению, это не сработало –

+1

которое вы используете? Я должен работать в любом после API 7 ... все равно проверю мое редактирование;) –

+0

minSdkversion = "10" –

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

Если вам нужно больше заранее webView вы можете использовать webview sample.

+0

Я уже сделал это, и не работает, есть какие-либо другие предложения? –

1
webView.getSettings().setBuiltInZoomControls(true); 
webView.getSettings().setDisplayZoomControls(false); 
Смежные вопросы