[android] Android Webview-웹 페이지가 기기 화면에 맞아야합니다.

장치 화면 크기에 따라 웹 페이지에 맞게 다음을 시도했습니다.

mWebview.setInitialScale(30);

그런 다음 메타 데이터 뷰포트를 설정합니다.

<meta name="viewport" content="width=320, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; minimum-scale=1.0; user-scalable=0;"/>
<meta name="viewport" content="width=device-width, target-densityDpi=medium-dpi"/>

그러나 아무것도 작동하지 않으며 웹 페이지는 장치 화면 크기로 고정되지 않습니다.

누구든지 이것을 얻는 방법을 말해 줄 수 있습니까?



답변

30으로 설정하는 대신 수동으로 사용해야하는 척도를 계산해야합니다.

private int getScale(){
    Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); 
    int width = display.getWidth(); 
    Double val = new Double(width)/new Double(PIC_WIDTH);
    val = val * 100d;
    return val.intValue();
}

그런 다음

WebView web = new WebView(this);
web.setPadding(0, 0, 0, 0);
web.setInitialScale(getScale());


답변

이것을 사용할 수 있습니다

    WebView browser = (WebView) findViewById(R.id.webview);
    browser.getSettings().setLoadWithOverviewMode(true);
    browser.getSettings().setUseWideViewPort(true);

이것은 화면 크기에 따라 크기를 수정합니다.


답변

친구,

나는 당신에게서 많은 수입품과 훌륭한 정보를 발견했습니다. 하지만 저에게 효과가있는 유일한 방법은 다음과 같습니다.

webView = (WebView) findViewById(R.id.noticiasWebView);
webView.setInitialScale(1);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setUseWideViewPort(true);
webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
webView.setScrollbarFadingEnabled(false);
webView.loadUrl("http://www.resource.com.br/");

나는 회사의 기기 종류 때문에 Android 2.1에서 작업하고 있습니다. 하지만 각 정보의 일부를 사용하여 문제를 해결했습니다.

감사합니다!


답변

이 설정은 저에게 효과적이었습니다.

wv.setInitialScale(1);
wv.getSettings().setLoadWithOverviewMode(true);
wv.getSettings().setUseWideViewPort(true);
wv.getSettings().setJavaScriptEnabled(true);

내 시도에서 setInitialScale (1) 이 누락되었습니다.

문서에 따르면 setUseWideViewPorttrue 로 설정되어 있으면 0 이 완전히 축소 되지만 0 이 작동하지 않아 1 을 설정해야했습니다 .


답변

이 HTML5 팁으로 시도

http://www.html5rocks.com/en/mobile/mobifying.html

Android 버전이 2.1 이상이면 이것으로

  WebView.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);


답변

당신이해야 할 일은 단순히

webView.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setUseWideViewPort(true);


답변

이것들은 나를 위해 작동하며 WebView를 화면 너비에 맞 춥니 다.

// get from xml, with all size set "fill_parent"  
webView = (WebView) findViewById(R.id.webview_in_layout);
// fit the width of screen
webView.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);
// remove a weird white line on the right size
webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);  

이클립스 웹보기에서 위의 조언과 화이트 라인 감사합니다.