2013-04-15 54 views
0

我有這個代碼操縱網頁視圖:(這一切工作正常)setMinimumScale上的WebView

WebView myWebView = (WebView) findViewById(R.id.stats_webview); 
myWebView.getSettings().setBuiltInZoomControls(true); 
myWebView.setPadding(0,0,0,0); 
myWebView.setInitialScale(getScale()); 

從這種方法獲得初始規模

private int getScale(){ 
    Display display = ((WindowManager) 
    getSystemService(StatsActivity.WINDOW_SERVICE)).getDefaultDisplay(); 
    Point size = new Point(); 
    display.getSize(size); 
    int width = size.x; 
    Double val = new Double(width)/new Double(720); 
    val = val * 100d; 
    return val.intValue(); 
} 

這一切都工作正常,加載視圖略微縮小,以適應720像素網頁源的屏幕。問題是,一旦有人放大,他們不能縮小到最初的比例。他們只能縮小到1的比例,所以他們無法將整個頁面放回到屏幕上。我找到了setMinimumScale方法的引用,但它似乎不再可用。我只是想念一個包含文件還是有一種新的方法來完成這個?

我曾嘗試:

myWebView.setMinimumScale(getScale()); 

myWebView.getSettings().setMinimumScale(getScale()); 

但既不工程。

+0

正在編輯HTML文件的一個選項?如果是,您可以使用視口元標記。 – varun1505

+0

我可以編輯它,但由於最小比例會有所不同,我無法知道要設置它。另外,當我嘗試在元標記中設置width = device-width時,它看起來不起作用並且加載太多。 –

+0

其實我只需要將「target-densitydpi = device-dpi」包含到我的元標記中。現在效果很好,謝謝!如果你把這個答案而不是評論,我會檢查它。 :) –

回答

0

如果編輯HTML文件是一個選項,則可以使用視口元標記。 查看documentation瞭解更多詳情。

+0

添加'code'(< meta name =「viewport」content =「width = device-width,user-scalable = yes,target-densitydpi = device-dpi」/>)對html很好用! –