Android編程開發(fā)ScrollView中ViewPager無法正?;瑒訂栴}解決方法
本文實例講述了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è)計有所幫助。
- Android中實現(xiàn)監(jiān)聽ScrollView滑動事件
- Android中ScrollView實現(xiàn)滑動距離監(jiān)聽器的方法
- Android ScrollView滑動實現(xiàn)仿QQ空間標(biāo)題欄漸變
- android scrollview 滑動到頂端或者指定位置的實現(xiàn)方法
- Android中Toolbar隨著ScrollView滑動透明度漸變效果實現(xiàn)
- Android HorizontalScrollView左右滑動效果
- Android開發(fā)控制ScrollView滑動速度的方法
- Android中使用ScrollView實現(xiàn)滑動到底部顯示加載更多
- Android開發(fā)之ScrollView的滑動監(jiān)聽
- Android自定義控件ScrollView實現(xiàn)上下滑動功能
相關(guān)文章
Flutter音樂播放插件audioplayers使用步驟詳解
audioplayers是一個可以支持同時播放多個音頻文件的Flutter的插件,可以播放多個同時的音頻文件,這篇文章主要介紹了audioplayers的使用步驟,感興趣想要詳細了解可以參考下文2023-05-05
Android中使用PagerSlidingTabStrip實現(xiàn)導(dǎo)航標(biāo)題的示例
本篇文章主要介紹了Android中使用PagerSlidingTabStrip實現(xiàn)導(dǎo)航標(biāo)題的示例,具有一定的參考價值,有興趣的可以了解一下。2017-01-01
關(guān)于Android實現(xiàn)簡單的微信朋友圈分享功能
這篇文章主要介紹了關(guān)于Android實現(xiàn)簡單的微信朋友圈分享功能,非常不錯,具有參考借鑒價值,需要的的朋友參考下2017-02-02
android實現(xiàn)ViewPager的Indicator的實例代碼
本篇文章主要介紹了android實現(xiàn)ViewPager的Indicator的實例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02
Android Studio獲取網(wǎng)絡(luò)JSON數(shù)據(jù)并處理的方法
這篇文章主要為大家詳細介紹了Android Studio獲取網(wǎng)絡(luò)JSON數(shù)據(jù)并處理的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-10-10

