Androidがview pagerのネストスライド衝突を解決し、サイドスリップメニュー機能を保持します。


書き換え子pagerviewのdispatch TouchEvent方法は、戻る前に、getParent().requestDisallowInterceptTouchEvent(true)を追加して、イベントの転送を中断します。種類は以下の通りです。

public class SupperViewPager extends ViewPager {
 private int screenWidth;//    
 public SupperViewPager(Context context) {
  super(context);
 }
 public SupperViewPager(Context context, AttributeSet attrs) {
  super(context, attrs);
  // TODO            
 }
 @Override
 protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
  super.onMeasure(widthMeasureSpec, heightMeasureSpec);
  screenWidth = MeasureSpec.getSize(widthMeasureSpec);//view         
 }
 @Override
 public boolean dispatchTouchEvent(MotionEvent ev) {
  // screenWidth = getResources().getDisplayMetrics().widthPixels;
  System.out.println("    " + screenWidth);
  /*            ,       
   ,                    pagerview    ,         ,            viewpager    */
  if (ev.getRawX() > screenWidth / 8 && ev.getRawX() < screenWidth * 7 / 8) {
   getParent().requestDisallowInterceptTouchEvent(true);
  }
  return super.dispatchTouchEvent(ev);
 }
}
以上は小编でご绍介したAndroidがviewpagerの中にあるスライドの冲突を解决してサイドスリップメニューの机能を保留しています。皆様に何かお聞きしたいことがあれば、メッセージをください。小编はすぐにご返事します。ここでも私たちのサイトを応援してくれてありがとうございます。