2016-11-04 9 views
0

私はviewpagerを持っていて、そこにwebviewがあります.WebViewはスワイプ能力を持っています。そしてwebviewをスワイプするとviewpager全体が変更されますが、webviewでスワイプが終了したら、あなたがスワイプを防ぐために、カスタムViewPagerを作成する必要がビューページ内のWebview

@Override 
public int getCount() { 
    return pageModels.size(); 
} 

@Override 
public boolean isViewFromObject(View view, Object object) { 
    return view==object; 
} 

@Override 
public Object instantiateItem(ViewGroup container, int position) { 
    View view = LayoutInflater.from(context).inflate(R.layout.singlepage,container,false); 
    webView = (WebView) view.findViewById(R.id.webview); 
    webView.getSettings().setJavaScriptEnabled(true); 
    webView.setScrollContainer(true); 
    webView.bringToFront(); 
    webView.getSettings().setUseWideViewPort(true); 
    String readerContent = null; 
    File f = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+File.separator+"check.html"); 
    Log.d("readerContent",readerContent); 
    webView.loadUrl("http://192.168.0.108/book"); 
    webView.setWebViewClient(new WebViewClient()); 
    ((ViewPager) container).addView(view); 
    return view; 
} 

@Override 
public void destroyItem(ViewGroup container, int position, Object object) { 
    ((ViewPager) container).removeView((View)object); 
} 
public String getString(InputStream i) throws IOException { 
    ByteArrayOutputStream result = new ByteArrayOutputStream(); 
    byte[] buffer = new byte[1024]; 
    int length; 
    while ((length = i.read(buffer)) != -1) { 
     result.write(buffer, 0, length); 
    } 
    return result.toString("UTF-8"); 
} 

答えて

0

mycode

ページャアダプタです。
第2に、WebViewのjavascriptブリッジを使用してネイティブJavaコードを通信します。
簡単に言うと、jsコードはあなたのViewPagerをスワイプブルに設定するかもしれません。


+)HTMLページ内のスワイプの終わりに達したときに、ネイティブviewpagerをスワイプすることができ通知するカスタムJS関数を呼び出します。

関連する問題