如何通过边缘滑动(而不是主页图标)检测导航抽屉是否已打开?

Waz*_*_Be 6 android swipe navigation-drawer

我在我的Android应用程序中使用导航抽屉.

由于这是一个我觉得很难发现的模式,我的计划是在屏幕底部添加一条消息,直到用户最终发现它并通过滑动成功打开它.

我知道我可以使用:

public void onDrawerOpened(View drawerView) {
    // Stop telling the user, he know how it works
}
Run Code Online (Sandbox Code Playgroud)

但是当使用ActionBar中的左上角按钮打开它时也会触发此操作.

我们热烈欢迎任何检测成功刷卡的建议.

Sar*_*ang 6

您需要监听状态更改回调:

        @Override
        public void onDrawerStateChanged(int newState) {                
            if (newState == DrawerLayout.STATE_DRAGGING) {
                Log.v(TAG, "Drawer opened by dragging");
            }
        }
Run Code Online (Sandbox Code Playgroud)

仅当用户将抽屉拖入视图时才会出现此状态.点击主页图标不会导致这种情况 - 这正是您想要的.