欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android編程開(kāi)發(fā)ScrollView中ViewPager無(wú)法正?;瑒?dòng)問(wèn)題解決方法

 更新時(shí)間:2015年10月19日 11:45:23   作者:非著名程序員  
這篇文章主要介紹了Android編程開(kāi)發(fā)ScrollView中ViewPager無(wú)法正?;瑒?dòng)問(wèn)題解決方法,以實(shí)例形式分析了ScrollView中滑動(dòng)失效的原因及解決方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了Android編程開(kāi)發(fā)ScrollView中ViewPager無(wú)法正常滑動(dòng)問(wèn)題解決方法。分享給大家供大家參考,具體如下:

這里主要介紹如何解決ViewPager在ScrollView中滑動(dòng)經(jīng)常失效、無(wú)法正常滑動(dòng)問(wèn)題。
解決方法只需要在接近水平滾動(dòng)時(shí)ScrollView不處理事件而交由其子View(即這里的ViewPager)處理即可,重寫(xiě)ScrollView的onInterceptTouchEvent函數(shù),如下:

package cc.newnews.view; 
import android.content.Context; 
import android.util.AttributeSet; 
import android.view.GestureDetector; 
import android.view.GestureDetector.SimpleOnGestureListener;
import android.view.MotionEvent; 
import android.widget.ScrollView; 
public class VerticalScrollView extends ScrollView {
  private GestureDetector mGestureDetector; 
  public VerticalScrollView(Context context, AttributeSet attrs) {
    super(context, attrs); 
    mGestureDetector = new GestureDetector(context, new YScrollDetector());
  } 
  @Override 
  public boolean onInterceptTouchEvent(MotionEvent ev) {
    return super.onInterceptTouchEvent(ev) 
        && mGestureDetector.onTouchEvent(ev); 
  } 
  class YScrollDetector extends SimpleOnGestureListener {
    @Override 
    public boolean onScroll(MotionEvent e1, MotionEvent e2, 
        float distanceX, float distanceY) { 
      /** 
       * 如果我們滾動(dòng)更接近水平方向,返回false,讓子視圖來(lái)處理它
       */ 
      return (Math.abs(distanceY) > Math.abs(distanceX)); 
    } 
  } 
} 

再將xml中的ScrollView改為<xxx.xxx.xxx.VerticalScrollView>即包名.重寫(xiě)的ScrollView的類(lèi)名)即可。

本方法同樣適用于ScrollView中ListView等其他View無(wú)法滾動(dòng)。

希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論