在我看來,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'它似乎被稱爲在兩個方向,也當抽屜關閉。 –