在我看来,DrawerLayout
实现中缺少一件事情:以及在抽屉打开之前触发的事件。DrawerLayout打开之前的事件
drawerToggle = new ActionBarDrawerToggle(this, drawerLayout, R.drawable.ic_drawer, R.string.drawer_open, R.string.drawer_close) {
public void onDrawerClosed(View view) {
//...
}
public void onBeforeDrawerOpened(View drawerView) {
//...
}
public void onDrawerOpened(View drawerView) {
//...
}
};
之所以需要它是设置了选择,启用和类似像菜单项的抽屉项目的状态。把它放到onDrawerOpened()
的回调函数中,但它在打开后改变菜单的外观并不太合适。
我的第一个想法是延长ActionBarDrawerToggle
并提供新的事件。我应该重新发明轮子:-)还是已经有人完成了这个工作?
附录:它发生在我使用'onDrawerStateChanged()''时== newState但DrawerLayout.STATE_DRAGGING'它似乎被称为在两个方向,也当抽屉关闭。 –