扫描二维码下载沐宇APP

沐宇

微信扫码使用沐宇小程序

沐宇

viewpager濡備綍璁剧疆杈圭晫婊戝姩

扬州沐宇科技
2024-06-28 20:21:30
viewpager

瑕佽缃甐iewPager鐨勮竟鐣屾粦鍔紝鍙互閫氳繃閲嶅啓ViewPager鐨刼nInterceptTouchEvent鏂规硶鍜宱nTouchEvent鏂规硶鏉ュ疄鐜般€傚湪杩欎袱涓柟娉曚腑鍒ゆ柇褰撳墠ViewPager鏄惁澶勪簬杈圭晫浣嶇疆锛屽鏋滃浜庤竟鐣屼綅缃垯涓嶆嫤鎴Е鎽镐簨浠舵垨鑰呬笉杩涜婊戝姩鎿嶄綔銆?/p>

鍏蜂綋姝ラ濡備笅锛?/p>

  1. 鍒涘缓涓€涓嚜瀹氫箟鐨刅iewPager绫伙紝缁ф壙鑷猇iewPager銆?/p>

  2. 鍦ㄨ嚜瀹氫箟ViewPager绫讳腑閲嶅啓onInterceptTouchEvent鏂规硶鍜宱nTouchEvent鏂规硶銆?/p>

  3. 鍦╫nInterceptTouchEvent鏂规硶涓垽鏂綋鍓峍iewPager鏄惁澶勪簬杈圭晫浣嶇疆锛屽鏋滄槸鍒欎笉鎷︽埅瑙︽懜浜嬩欢锛岃繑鍥瀎alse锛涘鏋滀笉鏄垯杩斿洖super.onInterceptTouchEvent(event)銆?/p>

  4. 鍦╫nTouchEvent鏂规硶涓悓鏍峰垽鏂綋鍓峍iewPager鏄惁澶勪簬杈圭晫浣嶇疆锛屽鏋滄槸鍒欎笉杩涜婊戝姩鎿嶄綔锛岀洿鎺ヨ繑鍥瀎alse锛涘鏋滀笉鏄垯杩斿洖super.onTouchEvent(event)銆?/p>

绀轰緥浠g爜濡備笅锛?/p>

public class CustomViewPager extends ViewPager {

    public CustomViewPager(Context context) {
        super(context);
    }

    public CustomViewPager(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    public boolean onInterceptTouchEvent(MotionEvent event) {
        if (getCurrentItem() == 0 || getCurrentItem() == getAdapter().getCount() - 1) {
            return false; // 杈圭晫浣嶇疆锛屼笉鎷︽埅浜嬩欢
        } else {
            return super.onInterceptTouchEvent(event);
        }
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        if (getCurrentItem() == 0 || getCurrentItem() == getAdapter().getCount() - 1) {
            return false; // 杈圭晫浣嶇疆锛屼笉杩涜婊戝姩鎿嶄綔
        } else {
            return super.onTouchEvent(event);
        }
    }
}

鍦ㄤ娇鐢╒iewPager鏃讹紝鍙互鏇挎崲鍘熸潵鐨刅iewPager涓鸿嚜瀹氫箟鐨凜ustomViewPager锛岃繖鏍峰氨鍙互瀹炵幇杈圭晫婊戝姩鐨勬晥鏋溿€?/p>

扫码添加客服微信