Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>don't ask me why this code gets formatted like this,</p> <p><strong>1. implement a custom ViewPager Instance like this:</strong></p> <pre><code>import android.content.Context; import android.support.v4.view.ViewPager; import android.util.AttributeSet; import android.util.Log; import android.view.MotionEvent; public class CustomViewPager extends ViewPager { private MagazineWebView_WithoutFlipWebView mCurrentPageWebView_; //custom webview public CustomViewPager(Context context, AttributeSet attrs) { super(context, attrs); } @Override public boolean onInterceptTouchEvent(MotionEvent event) { if (Constants.LOGGING) { Log.v(Constants.LOG_OEAMTC_APP, "CustomViewPager - onInterceptTouchEvent"); } // if view zoomed out (view starts at 33.12... scale level) ... allow // zoom within webview, otherwise disallow (allow viewpager to change // view) if (mCurrentPageWebView_ != null &amp;&amp; (mCurrentPageWebView_.getScale() * 100) &gt; 34) { Log.v(Constants.LOG_OEAMTC_APP, "CustomViewPager - intrcepted: " + String.valueOf((mCurrentPageWebView_.getScale() * &gt; 100))); this.requestDisallowInterceptTouchEvent(true); } else { if (mCurrentPageWebView_ != null) { Log.v(Constants.LOG_OEAMTC_APP, "CustomViewPager - not intrcepted: " + String.valueOf(mCurrentPageWebView_.getScale() * 100)); } this.requestDisallowInterceptTouchEvent(false); } return super.onInterceptTouchEvent(event); } public MagazineWebView_WithoutFlipWebView getCurrentPageWebView() { return mCurrentPageWebView_; } public void setCurrentPageWebView(MagazineWebView_WithoutFlipWebView currentPageWebView) { mCurrentPageWebView_ = currentPageWebView; } } </code></pre> <p><strong>2. in your main (ViewPager) Activity add the following lines to the view pager</strong></p> <pre><code>mViewPager_ = new AwesomePagerAdapter(); viewpapgerInLayout = (CustomViewPager) findViewById(R.id.awesomepager); viewpapgerInLayout.setAdapter(mViewPager_); viewpapgerInLayout.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageSelected(int position) { viewpapgerInLayout.setCurrentPageWebView(mLstPagesWebviews_.get(position)); } @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageScrollStateChanged(int state) { } }); </code></pre> <p><strong>3. finally, run it :=)</strong> if the zoom level is at initial zoom, changes pages is allowed, all the other time you can navigate your web view</p> <p><strong>Ps.:</strong> *<em>Don't forget</em>* to change your ViewPager in your *.xml file with the CustomViewPager Class you just created</p> <p>good luck :)</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload