完美解決ViewPager與各種橫向滑動(dòng)組件(橫向RecyclerView,ScrollView等)沖突問題

核心就是判斷滑動(dòng)事件 縱向 父控件控制 橫向 自己控制 不給父控件控制權(quán)限

上代碼

public class CustomRecyclerView extends RecyclerView {
    private int mTouchSlop;
    public CustomRecyclerView(Context context) {
        super(context);
        final ViewConfiguration vc = ViewConfiguration.get(context);
        mTouchSlop = vc.getScaledTouchSlop();
    }

    public CustomRecyclerView(Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
        final ViewConfiguration vc = ViewConfiguration.get(context);
        mTouchSlop = vc.getScaledTouchSlop();
    }


    int move_x,move_y;
    @Override
    public boolean onTouchEvent(MotionEvent e) {
        switch (e.getAction()){

            case MotionEvent.ACTION_DOWN:
                move_x = (int) e.getX();
                move_y = (int) e.getY();
                getParent().requestDisallowInterceptTouchEvent(true);
                Log.e("motion_event","down   x==y  "+move_x+" ==== "+move_y);
                break;
            case MotionEvent.ACTION_MOVE:
                Log.e("motion_event","move   x==y  "+move_x+" ==== "+move_y);
                int y = (int) e.getY();
                int x = (int) e.getX();
                if(Math.abs(y-move_y)>mTouchSlop&&Math.abs(x-move_x)<mTouchSlop*2){
                    getParent().requestDisallowInterceptTouchEvent(false);
                }else {
                    getParent().requestDisallowInterceptTouchEvent(true);
                }
                break;
            case MotionEvent.ACTION_UP:
                Log.e("motion_event","up   x==y  "+move_x+" ==== "+move_y);
                break;
        }
        return super.onTouchEvent(e);
    }
}

問題解決
哈哈哈哈(周星馳笑)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,021評(píng)論 25 709
  • 1、通過CocoaPods安裝項(xiàng)目名稱項(xiàng)目信息 AFNetworking網(wǎng)絡(luò)請(qǐng)求組件 FMDB本地?cái)?shù)據(jù)庫組件 SD...
    陽明AI閱讀 16,203評(píng)論 3 119
  • 導(dǎo)演: 主演: 2016年拍攝,2017年6月在法國開始上映。 這是一部葡萄酒主題的電影,發(fā)生在勃艮第這個(gè)偉大的葡...
    陳巖ludovic閱讀 359評(píng)論 0 1
  • 隨著金融科技的發(fā)展,投資理財(cái)也是非常便捷的事情。 可是把錢存銀行,放在余額寶,買個(gè)基金,炒個(gè)股票就代表你會(huì)理財(cái)了嗎...
    小Z說道閱讀 317評(píng)論 0 0
  • 好久沒有寫文了,始終覺得差點(diǎn)什么?但是,實(shí)際情況是懶,又不想跟風(fēng)去討論一些熱點(diǎn)話題,畢竟沒有新穎的想法,不免會(huì)弄巧...
    孤危閱讀 390評(píng)論 6 1

友情鏈接更多精彩內(nèi)容