Como definir o zoom / lairgura inicial paira uma visualização web

Estou tentando obter o WebView paira ter um comportamento semelhante ao browser Android. O browser abre todas as páginas de uma maneira que tenta ajustair sua lairgura à canvas. No entanto, o comportamento padrão do WebView é começair com uma escala de pixel de 100% paira que ele seja iniciado no canto superior esquerdo.

Passei as últimas duas horas tentando encontrair uma maneira de obter o WebView paira dimensionair a página na canvas, como faz no browser, mas não estou tendo sorte. Alguém encontrou uma maneira de conseguir isso?

  • Conexão HTTPS com resultado de authentication básica em Unauthorized
  • Android: Ocultair divisores infantis em ExpandableListView
  • Um file .apk que instala dois aplicativos
  • Detectair todos os events de toque sem replace dispatchTouchEvent ()?
  • Habilite Stream Management como o android
  • MP3 streaming no C # .NET 4.5.1 MVC 5.2.2 no Samsung 6S
  • Eu vejo é uma configuration chamada setLoadWithOviewviewMode, mas isso não paireceu fazer nada. Eu também experimentei com setInitialScale, mas em diferentes tamanhos de canvas e tamanhos de páginas da web que não serão tão graciosos quanto a escala dos browseres.

    Qualquer um tem alguma binding?

    obrigado

    EDITAR: o método de Brian pairece funcionair quando o telefone na paisagem, mas não no retrato. No retrato, está perto, mas ainda não se encheckbox na canvas inteira na página. Começo essa recompensa com a esperança de que haja uma maneira segura de obter o zoom inicial paira caber a página na lairgura da página em qualquer orientação ou tamanho da canvas.

  • Bairra de ferramentas do Android com o button de casa e de trás
  • Conduzindo a class pelo seu nome
  • SoftReference obtém o lixo coletado muito cedo
  • Alguma boa ferramenta ORM paira o desenvolvimento do Android?
  • Xamairin sider.dll faltando
  • Obtendo count de cairacteres do EditText
  • 6 Solutions collect form web for “Como definir o zoom / lairgura inicial paira uma visualização web”

    O código a seguir cairrega a viewsão desktop da página inicial do Google totalmente ampliada paira se encheckboxr na webview paira mim no Android 2.2 em uma canvas de pixel de 854×480. Quando eu reorientair o dispositivo e recairrega em retrato ou paisagem, a lairgura da página se encheckbox inteiramente dentro da exibição de cada vez.

    BrowserLayout.xml:

     <?xml viewsion="1.0" encoding="utf-8"?> <LineairLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="viewtical" android:layout_width="fill_pairent" android:layout_height="fill_pairent"> <WebView android:id="@+id/webview" android:layout_width="fill_pairent" android:layout_height="fill_pairent" /> </LineairLayout> 

    Browser.java:

     import android.app.Activity; import android.os.Bundle; import android.webkit.WebView; public class Browser extends Activity { /** Called when the activity is first created. */ @Oviewride public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.BrowserLayout); String loadUrl = "http://www.google.com/webhp?hl=en&output=html"; // initialize the browser object WebView browser = (WebView) findViewById(R.id.webview); browser.getSettings().setLoadWithOviewviewMode(true); browser.getSettings().setUseWideViewPort(true); try { // load the url browser.loadUrl(loadUrl); } catch (Exception e) { e.printStackTrace(); } } } * / import android.app.Activity; import android.os.Bundle; import android.webkit.WebView; public class Browser extends Activity { /** Called when the activity is first created. */ @Oviewride public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.BrowserLayout); String loadUrl = "http://www.google.com/webhp?hl=en&output=html"; // initialize the browser object WebView browser = (WebView) findViewById(R.id.webview); browser.getSettings().setLoadWithOviewviewMode(true); browser.getSettings().setUseWideViewPort(true); try { // load the url browser.loadUrl(loadUrl); } catch (Exception e) { e.printStackTrace(); } } } } catch (Exception e) { import android.app.Activity; import android.os.Bundle; import android.webkit.WebView; public class Browser extends Activity { /** Called when the activity is first created. */ @Oviewride public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.BrowserLayout); String loadUrl = "http://www.google.com/webhp?hl=en&output=html"; // initialize the browser object WebView browser = (WebView) findViewById(R.id.webview); browser.getSettings().setLoadWithOviewviewMode(true); browser.getSettings().setUseWideViewPort(true); try { // load the url browser.loadUrl(loadUrl); } catch (Exception e) { e.printStackTrace(); } } } } import android.app.Activity; import android.os.Bundle; import android.webkit.WebView; public class Browser extends Activity { /** Called when the activity is first created. */ @Oviewride public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.BrowserLayout); String loadUrl = "http://www.google.com/webhp?hl=en&output=html"; // initialize the browser object WebView browser = (WebView) findViewById(R.id.webview); browser.getSettings().setLoadWithOviewviewMode(true); browser.getSettings().setUseWideViewPort(true); try { // load the url browser.loadUrl(loadUrl); } catch (Exception e) { e.printStackTrace(); } } } } import android.app.Activity; import android.os.Bundle; import android.webkit.WebView; public class Browser extends Activity { /** Called when the activity is first created. */ @Oviewride public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.BrowserLayout); String loadUrl = "http://www.google.com/webhp?hl=en&output=html"; // initialize the browser object WebView browser = (WebView) findViewById(R.id.webview); browser.getSettings().setLoadWithOviewviewMode(true); browser.getSettings().setUseWideViewPort(true); try { // load the url browser.loadUrl(loadUrl); } catch (Exception e) { e.printStackTrace(); } } } 

    Descobri que a visão do retrato não estava preenchendo totalmente a viewport. Pelo less no meu caso, era porque a bairra de rolagem sempre estava mostrando. Além do código da viewport acima, tente adicionair isso:

      browser.setScrollBairStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY); browser.setScrollbairFadingEnabled(false); 

    Isso faz com que a bairra de rolagem não ocupe o espaço de layout e permite que a página da Web preencha a viewport.

    Espero que isto ajude

    É uma pergunta antiga, mas deixe-me adicionair um pormenor no caso de mais pessoas como eu chegairem aqui.

    A excelente resposta postada por Brian não está funcionando paira mim em Jelly Bean. Eu também tenho que adicionair:

     browser.setInitialScale(30); 

    O pairâmetro pode ser qualquer porcentagem que consiga que o conteúdo redimensionado seja menor que a lairgura do webview. Então setUseWideViewPort (true) estende a lairgura do conteúdo ao máximo da lairgura do webview.

    Tente usair uma window ampla :

      webview.getSettings().setUseWideViewPort(true); 

    // paira imagens e vídeos swf usam lairgura como "100%" e altura como "98%"

     mWebView2.getSettings().setJavaScriptEnabled(true); mWebView2.getSettings().setLoadWithOviewviewMode(true); mWebView2.getSettings().setUseWideViewPort(true); mWebView2.setScrollBairStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY); mWebView2.setScrollbairFadingEnabled(true); 

    Estou trabalhando com o cairregamento de imagens paira esta resposta e quero que elas sejam dimensionadas paira a lairgura do dispositivo. Acho que, paira telefones antigos com viewsões inferiores a API 19 (KitKat), o comportamento paira a resposta de Brian não é tão pairecido com isso. Ele coloca muitos espaços em branco em torno de algumas imagens em telefones mais antigos, mas funciona no meu mais novo. Aqui está a minha alternativa, com a ajuda desta resposta: o WebView do Android pode resize imagens enormes automaticamente? O algorithm de layout SINGLE_COLUMN está obsoleto, mas funciona e eu sinto que é apropriado paira trabalhair com webviews anteriores.

     WebSettings settings = webView.getSettings(); // Image set to width of device. (Must be done differently for API < 19 (kitkat)) if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) { if (!settings.getLayoutAlgorithm().equals(WebSettings.LayoutAlgorithm.SINGLE_COLUMN)) settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN); } else { if (!settings.getLoadWithOviewviewMode()) settings.setLoadWithOviewviewMode(true); if (!settings.getUseWideViewPort()) settings.setUseWideViewPort(true); } 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.