2017-11-23 2 views
1

티켓 판매로 큰 캔버스가 있고 스크롤이 5.0보다 낮지 만, 버전 4.1 이상을 지원해야하기 때문에 webView를 가로로 확대/축소해야합니다.webView에서 가로 스크롤 할 수 없음

가 여기에 내가 수평 일광에 상대적으로 변화하는 방향으로 레이아웃을 변경하려고

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

<WebView android:id="@+id/webViewPosterPlaces" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    xmlns:android="http://schemas.android.com/apk/res/android" /> 
</LinearLayout> 

내 웹보기

webView.getSettings().setJavaScriptEnabled(true); 
    webView.getSettings().setLoadsImagesAutomatically(true); 
    webView.getSettings().setAllowFileAccessFromFileURLs(true); 
    webView.getSettings().setAllowUniversalAccessFromFileURLs(true); 
    webView.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY); 
    webView.setScrollbarFadingEnabled(false); 
    webView.setVerticalScrollBarEnabled(true); 
    webView.setHorizontalScrollBarEnabled(true); 
    webView.getSettings().setAppCacheEnabled(false); 

    webView.getSettings().setBuiltInZoomControls(true); 
    webView.getSettings().setDisplayZoomControls(false); 
    webView.setWebChromeClient(new WebChromeClient()); 
    webView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN); 
    webView.addJavascriptInterface(new MyJavaScriptInterface(getContext()), "HtmlViewer"); 
    webView.getSettings().setLoadWithOverviewMode(true); 
    webView.getSettings().setUseWideViewPort(true); 
    webView.getSettings().setDomStorageEnabled(true); 
    webView.getSettings().setRenderPriority(WebSettings.RenderPriority.HIGH); 

    // webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); 
    if (Build.VERSION.SDK_INT >= 19) { 
     webView.setLayerType(View.LAYER_TYPE_HARDWARE, null); 
    } 
    else { 
     webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null); 
    } 

    // ((GiftsActivity)getActivity()).dismissSpinner(); 
    webView.setWebViewClient(new WebViewClient() { 


     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 

      view.loadUrl(url); 
//    view.reload(); 

      return false; 
     } 

     @Override 
     public void onPageFinished(WebView view, String url) { 
      webView.loadUrl("javascript:HtmlViewer.showHTML" + 
        "(document.getElementsByTagName('pre')[0].innerHTML);"); 
     } 
    }); 

    webView.loadUrl(url); 
    ((GiftsActivity)getActivity()).dismissSpinner(); 

} 

및 XML입니다, 또한 내가있는 ScrollView 안에 웹뷰를 넣어려고했는데, 그것은하지 않습니다 너무 일합니다.

그런데 웹보기를 확대 할 때도 가로로 스크롤 할 수 없습니다. 수직 스크롤의 확대로 제대로 작동하지만 너무

문제가 해결 작동하지 않습니다 축소 :

이 라인을 제거해야합니다 webView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN를);

답변

1

이 줄을 삭제해야합니다. webView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN)