2011-04-12 12 views
6

Webview dikey kaydırma görünümünü devre dışı bırakmak istiyorum. Bu yolu kullanarak web sayfasını web sütununda sütun olarak yükleyerek kullanıcıya kitap okuma efekti verebilirim. Tüm sayfayı farklı sütun olarak yüklemek için web görünümünün dikey kaydırılması nasıl devre dışı bırakılır

bu

ben html.it eklenen tarzı hiç çalışmıyor olmasıdır.

loadingStringHorizontal="<style type='text/css'>body { width:200px;height:400px; 
    -webkit-column-gap:17px;-webkit-column-width:170px; 
    text-align:justify ;} </style>"; 

Zaman ayırdığınız için teşekkür ederiz.

+0

Kişisel Soru başlığı diyor javascript kodu: Web görünümündeki yatay kaydırmayı devre dışı bırakın. ve soru açıklaması Web görünümündeki dikey kaydırma görünümünü devre dışı bırakmak istediğiniz söylüyor! –

+1

Fark ettiğin için teşekkürler – DroidBot

+0

Bunu deneyin: http://stackoverflow.com/questions/2527899/disable-scrolling-in-webview – rajath

cevap

0

deneyin ekleyerek CSS overflow: auto;overflow-y: hidden;

4

Sen tek sütun düzeni deneyebilirsiniz

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

veya XML sonra seni ilk myWebView.setScrollContainer(false);

+0

SINGLE_COLUMN kullanımdan kaldırıldı – Roel

1

set

<WebView 
    android:scrollbars="none" /> 

kaydırma çubuğunda hiçbiri koyabilirsiniz devre dışı sektör için özel web görüntülemesini eklemek zorunda o zaman javascript Sen Sayfa tamamen yüklenen sonra Web görünümündeki

CustomWebView webView_ = (CustomWebView) view.findViewById(R.id.webView); 
webView_.getSettings().setUseWideViewPort(true); 
webView_.getSettings().setLayoutAlgorithm(LayoutAlgorithm.NARROW_COLUMNS); 
/** 
* hide vertical scrollBar 
*/ 
webView_.setVerticalScrollBarEnabled(false); 

ayarına bu satırları uygulamak zorunda (https://stackoverflow.com/a/9165698/1140304)

ile çoklu sütunlar web görüntülemesini oluşturabilir aşağı

class CustomWebView2 extends WebView 
{ 
    Context mContext = null; 
    private float start_y = -1; 
    private String DEBUG_TAG = " touch:"; 

    public CustomWebView2(Context context) 
    { 
     super(context); 
     mContext = this.getContext(); 
    } 

    public CustomWebView2(Context context, AttributeSet attrs) 
    { 
     super(context, attrs); 
     mContext = context; 
    } 

    @Override 
    public boolean onTouchEvent(MotionEvent event) 
    { 
     int action = event.getAction(); 

     switch (action) 
     { 
      case (MotionEvent.ACTION_DOWN): 
       /** 
       * get Y position 
       */ 
       start_y = event.getY(); 
       break; 
      case (MotionEvent.ACTION_MOVE): 
       /** 
       * if you scroll to up more than 60px 
       * webView scroll back to Y=0 
       */ 
       if(start_y-event.getY()>60) 
       { 
        scrollTo(getScrollX(),0); 
        return true; 
       } 
       break; 
      case (MotionEvent.ACTION_UP): 
       Log.d(DEBUG_TAG, "Action was UP"); 
       break; 
     } 
     return super.onTouchEvent(event); 
    } 
} 

kaydırmak webview, kendi Web görünümündeki javascript kodu çalıştırmak zorunda

webView_.setWebViewClient(new WebViewClient(){ 

      public void onPageFinished(WebView view, String url) { 
       injectJavascript(); 
      } 

     }); 

bu

public void injectJavascript() { 
     String js = "javascript:function initialize() { " + 
       "var d = document.getElementsByTagName('body')[0];" + 
       "var ourH = window.innerHeight; " + 
       "var ourW = window.innerWidth; " + 
       "var fullH = d.offsetHeight; " + 
       "var pageCount = Math.floor(fullH/ourH)+1;" + 
       "var currentPage = 0; " + 
       "var newW = pageCount*ourW; " + 
       "d.style.height = ourH+'px';" + 
       "d.style.width = newW+'px';" + 
       "d.style.webkitColumnGap = '2px'; " + 
       "d.style.margin = 0; " + 
       "d.style.webkitColumnCount = pageCount;" + 
       "}"; 
     webView_.loadUrl(js); 
     webView_.loadUrl("javascript:initialize()"); 
    } 
+0

Sadece açıklamayı bırakmak yerine bir açıklama ekleyin. –