然后Webview缩放以启用setUseWideViewPort而不使用按钮

时间:2011-11-22 00:36:24

标签: android

嗨我在我的LinearLayout中有一个WebView,我正在使用这个WebView来缩放图像并覆盖网址,起初我有一个支持不同尺寸屏幕的情况,然后我在底角有一个按钮调用放大。

我现在遇到的问题是,我不再使用缩放按钮,我希望在将活动输入到适当大小的屏幕时缩放图像并使 setUseWideViewPort 具有双击功能可以放大/缩小立即工作,但我似乎无法让它保持在我设置的初始比例, setUseWideViewPort 扩大了屏幕和我的图像太过分了。

如果没有setUseWideViewPort =“true”的按钮

,我该怎么做呢?

这是我的代码

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

    });*/

   }

如果你能帮我解决这个问题,我将不胜感激

0 个答案:

没有答案