最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android編程開發(fā)ScrollView中ViewPager無法正?;瑒訂栴}解決方法

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

本文實例講述了Android編程開發(fā)ScrollView中ViewPager無法正?;瑒訂栴}解決方法。分享給大家供大家參考,具體如下:

這里主要介紹如何解決ViewPager在ScrollView中滑動經(jīng)常失效、無法正?;瑒訂栴}。
解決方法只需要在接近水平滾動時ScrollView不處理事件而交由其子View(即這里的ViewPager)處理即可,重寫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) { 
      /** 
       * 如果我們滾動更接近水平方向,返回false,讓子視圖來處理它
       */ 
      return (Math.abs(distanceY) > Math.abs(distanceX)); 
    } 
  } 
} 

再將xml中的ScrollView改為<xxx.xxx.xxx.VerticalScrollView>即包名.重寫的ScrollView的類名)即可。

本方法同樣適用于ScrollView中ListView等其他View無法滾動。

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

相關(guān)文章

最新評論

宾阳县| 象州县| 环江| 武宁县| 许昌市| 崇明县| 呼和浩特市| 景谷| 高碑店市| 大宁县| 盐池县| 宝鸡市| 大悟县| 青川县| 洛阳市| 方山县| 米泉市| 龙山县| 广宗县| 镇原县| 长丰县| 临潭县| 丹江口市| 宁化县| 霍城县| 禹州市| 合水县| 普陀区| 新田县| 乐东| 松江区| 蓬溪县| 石林| 沈阳市| 安仁县| 麻栗坡县| 西乌珠穆沁旗| 渭南市| 广河县| 鹿泉市| 土默特左旗|