Я работаю над приложением для Android, которое у меня есть в настоящее время, и я пытаюсь изменить свое приложение для Android 5 Lollipop и нового дизайна материалов.
В приложении у него есть выдвижной навигационный ящик, который, однако, все еще работает нормально, когда ящик открывается и закрывается.
Я полагаю, что, как и в приложении Play Store, когда ящик навигации открыт, значок гамбургера анимируется в виде стрелки назад, а при закрытии происходит анимация от стрелки назад к значку гамбургера.
Однако эта часть не работает для моего приложения, и я не смог найти в Google ничего о том, как реализовать это изменение.
Ниже показано, как реализован мой ActionBarDrawerToggle.
ActionBarDrawerToggle actionBarDrawerToggle = new ActionBarDrawerToggle(
activity,
drawerLayout,
R.drawable.ic_drawer,
drawerOpen,
drawerClosed)
{
public void onDrawerClosed(View view)
{
super.onDrawerClosed(view);
activity.invalidateOptionsMenu();
syncState();
}
public void onDrawerOpened(View drawerView)
{
super.onDrawerOpened(drawerView);
activity.invalidateOptionsMenu();
syncState();
}
};
return actionBarDrawerToggle;
Ниже показано, как вызывается приведенный выше код и как устанавливается переключатель в навигационном ящике.
NavigationManager navManager = new NavigationManager(this, mDrawerLayout, R.string.drawer_open, R.string.drawer_closed);
navManager.prepareActionBar();
mDrawerToggle = navManager.setDrawerToggle();
mDrawerLayout.setDrawerListener(mDrawerToggle);
Ниже приведен код моей функции prepareActionBar.
public void prepareActionBar()
{
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB)
{
activity.getActionBar().setDisplayHomeAsUpEnabled(true);
activity.getActionBar().setHomeButtonEnabled(true);
}
}