Tôi đang sử dụng android.support.v7.widget.Toolbar với android.support.v4.widget.DrawerLayout. Nó hoạt động tốt, biểu tượng Burger được hiển thị khi Ngăn Điều hướng được đóng lại, và biểu tượng Mũi tên sẽ hiển thị khi Ngăn mở đang mở. Tôi muốn vô hiệu hóa ngăn kéo và tạo hiệu ứng biểu tượng Burger vào Mũi tên trên một số sự kiện trong ứng dụng. Tôi đã cố gắng để thiết lập chế độ khóa để đóng cửa, nhưng v7.app.ActionBarDrawerToggle vẫn hiển thị Burger và nó sẽ mở ngăn kéo.Làm thế nào animate Burger to Arrow với Appcompat v7 21, Thanh công cụ và DrawerLayout
mDrawerLayout.setDrawerLockMode (DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
Bất kỳ ý tưởng nào? Cảm ơn!
Cập nhật:
Không, tôi có thể thay đổi trạng thái của biểu tượng và tôi có thể bật/tắt các ngăn kéo, nhưng các hình ảnh động không làm việc với phương pháp này:
@Override
protected void onCreate(Bundle savedInstanceState) {
...
Toolbar toolbar = (Toolbar) findViewById(R.id.application_toolbar);
setSupportActionBar(toolbar);
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawerLayout);
mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.string.string1, R.string.string2) {
public void onDrawerClosed(View view) {
super.onDrawerClosed(view);
}
public void onDrawerOpened(View drawerView) {
super.onDrawerOpened(drawerView);
}
};
//mDrawerLayout.setDrawerListener(mDrawerToggle); // not needed
...
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
if (mDrawerLayout.getDrawerLockMode(GravityCompat.START) == LOCK_MODE_UNLOCKED) {
showDrawer();
} else {
handleBackButtonPress(); // On this stage the home button is a <-
}
}
...
}
private void setDrawerState(boolean isEnabled) {
if (isEnabled) {
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED);
mDrawerToggle.onDrawerStateChanged(DrawerLayout.LOCK_MODE_UNLOCKED);
mDrawerToggle.syncState();
} else {
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
mDrawerToggle.onDrawerStateChanged(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
mDrawerToggle.syncState();
}
}
Các ngăn kéo đến ở trên cùng của Thanh công cụ.
hãy để lại một lời giải thích của mã của bạn .. – Haris
Cảm ơn nhưng tôi nghĩ bạn hiểu sai câu hỏi của tôi. Tôi muốn tắt hoàn toàn ngăn điều hướng (vào thời gian chạy) và hiển thị biểu tượng mũi tên thay vì bánh burger. – user2298916
Tôi có cùng một vấn đề với bất kỳ ý tưởng nào không? –