Toolbar滑動隱藏與IRecyclerView沖突

1、給Appbar添加監(jiān)聽

        appBarLayout.addOnOffsetChangedListener(new AppBarLayout.OnOffsetChangedListener() {
            @Override
            public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) {
                if (!AppBarUtils.isAppBarLayoutOpen(verticalOffset) && !AppBarUtils.isAppBarLayoutClose(appBarLayout,
                        verticalOffset)) {
                    mRecyclerView.setEnabled(false);
                } else {
                    mRecyclerView.setEnabled(true);
                }
            }
        });

2、RecyclerView的mLastTouchY計算錯誤,會出現(xiàn)畫面跳動的現(xiàn)象

  @Override
    public boolean onTouchEvent(MotionEvent e) {
        final int action = MotionEventCompat.getActionMasked(e);
        switch (action) {
            case MotionEvent.ACTION_DOWN: {

            }
            break;

            case MotionEvent.ACTION_MOVE: {
               if (mStatus == STATUS_SWIPING_TO_REFRESH || mStatus == STATUS_RELEASE_TO_REFRESH) {
                 setLastTouchY(mLastTouchY);
                 return true;
           }            
            }
            break;
        }
        return super.onTouchEvent(e);
    }

    private void setLastTouchY(int lastY) {
        try {
            Field field = RecyclerView.class.getDeclaredField("mLastTouchY");
            field.setAccessible(true);
            field.setInt(this, lastY);
            Log.i("TEST", "mLastTouchY: " + lastY);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

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

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

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