Android編程常常使用ViewPager結合Fragment實現(xiàn)可以左右滑動切換的頁面,但有時會遇到這樣的需求,讓ViewPager根據(jù)特定條件來控制其是否滑動。
成都創(chuàng)新互聯(lián)公司服務項目包括江西網站建設、江西網站制作、江西網頁制作以及江西網絡營銷策劃等。多年來,我們專注于互聯(lián)網行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯(lián)網行業(yè)的解決方案,江西網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到江西省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!
實現(xiàn)思路:重寫ViewPager,覆蓋 onTouchEvent 和 onInterceptTouchEvent 方法,使其返回false,截取ViewPager的事件響應,這樣就等于禁止了ViewPager上的滑動事件。
public class MyViewPager extends ViewPager { private boolean scrollble=true; public MyViewPager(Context context){ super(context); } public MyViewPager(Context context, AttributeSet attrs) { super(context, attrs); } @Override public boolean onTouchEvent(MotionEvent ev) { if (!scrollble) { return true; } return super.onTouchEvent(ev); } @Override public boolean onInterceptTouchEvent(MotionEvent ev) { if (scrollble == false) { return false; } else { return super.onInterceptTouchEvent(ev); } } public boolean isScrollble() { return scrollble; } public void setScrollble(boolean scrollble) { this.scrollble = scrollble; } }
在java代碼中初始化MyViewPager后,調用setScrollble( )方法,則可控制ViewPager是否滑動,false為不可滑動,true為可滑動。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。