Webview skaliert dann, um setUseWideViewPort ohne Schaltfläche zu aktivieren

  • Hallo, ich habe ein WebView in meinem LinearLayout und ich verwende dieses WebView, um ein Bild zu zoomen und URLs zu überschreiben. Zuerst habe ich einen Fall, der Bildschirme unterschiedlicher Größe unterstützt, dann habe ich einen Button die untere Ecke, die den Zoom aufruft.

    Das Problem, das ich jetzt habe, ist, dass ich den Zoom-Button nicht mehr benutze. Ich möchte, dass das Bild bei Eingabe der Aktivität auf die richtige Größe des Bildschirms skaliert wird und Der setUseWideViewPort mit der Doppeltipp-Funktion zum sofortigen Vergrößern / Verkleinern, aber ich kann nicht scheinen, dass er auf der ursprünglichen Skala bleibt, in der ich ihn eingestellt habe, dem setUseWideViewPort < / strong> erweitert den Bildschirm und mein Bild viel zu weit.

    Wie kann ich dies ohne einen Button für setUseWideViewPort = "true"

    hier ist mein Code

     private WebView myWebView;
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    
        this.myWebView = (WebView) this.findViewById(R.id.web1);
    
        //Support for diff screens
        DisplayMetrics metrics = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(metrics);
    
        switch (metrics.densityDpi) {
        case DisplayMetrics.DENSITY_HIGH:
            myWebView.setInitialScale(100);  
            break;
    
        case DisplayMetrics.DENSITY_MEDIUM:
            myWebView.setInitialScale(70);  
            break;
    
        case DisplayMetrics.DENSITY_LOW:
            myWebView.setInitialScale(50);  
            break;
    
        default:
            myWebView.getSettings().setDefaultZoom(WebSettings.ZoomDensity.MEDIUM);
            break;
        }
    
    
        myWebView.loadUrl("file:///android_asset/test.html");
        //myWebView.getSettings().setJavaScriptEnabled(true);
    
        myWebView.setFocusable(false);
        myWebView.invokeZoomPicker();
        myWebView.getSettings().setBuiltInZoomControls(true);
    
        myWebView.getSettings().setLoadWithOverviewMode(true);
        myWebView.getSettings().setUseWideViewPort(true);
    
    
                //What I had initially for double tap to zoom in/out
        /*final ImageView zoomBtnEnable  = (ImageView) findViewById(R.id.zoom);  
    
        zoomBtnEnable.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //myWebView.getSettings().setJavaScriptEnabled(true);
    
        myWebView.setFocusable(false);
        myWebView.invokeZoomPicker();
        myWebView.getSettings().setBuiltInZoomControls(true);
    
        myWebView.getSettings().setLoadWithOverviewMode(true);
        myWebView.getSettings().setUseWideViewPort(true);
            }
    
        });*/
    
       }
     

    Ich würde mich freuen, wenn Sie mir bei diesem Problem helfen könnten / p>

    22 November 2011
    M_K
0 answers