Всем хорошего дня!У меня проблема с анимацией для ActionBar и представления Search ... У меня есть стандартная анимация в ActionBar - от значка «гамбургер» до «стрелки», и он работает правильно для вызова некоторого меню, но также у меня есть SearchView, который расширяет весь ActionBarи рушится, но я не могу добавить анимацию для значка кнопки «Вверх» для него.Мне нужно сделать ту же анимацию (гамбургер - стрелка), чтобы развернуть и свернуть SearchView.Большое спасибо!Это моя основная деятельность ..
public class MainActivity extends AppCompatActivity {
private AnimatedVectorDrawable mMenuDrawable;
private AnimatedVectorDrawable mBackDrawable;
AnimationDrawable rocketAnimation;
private boolean mMenuFlag;
private boolean mMenuFlagSearch;
private AnimatedVectorDrawable mAddDrawable;
private AnimatedVectorDrawable mCheckDrawable;
private boolean mFabFlag;
private MenuItem mSearch;
SearchView mSearchView;
Toolbar toolbar;
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
toolbar = findViewById(R.id.toolbar);
toolbar.setTitle("RSS FEED");
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_HOME_AS_UP|ActionBar.DISPLAY_SHOW_TITLE);
getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_menu_vector);
mMenuDrawable = (AnimatedVectorDrawable) getDrawable(R.drawable.ic_menu_animatable);
mBackDrawable = (AnimatedVectorDrawable) getDrawable(R.drawable.ic_back_animatable);
}
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()){
case android.R.id.home:
menuClick();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
private void menuClick() {
if (mMenuFlag) {
getSupportActionBar().setHomeAsUpIndicator(mBackDrawable);
mBackDrawable.start();
} else {
getSupportActionBar().setHomeAsUpIndicator(mMenuDrawable);
mMenuDrawable.start();
}
mMenuFlag = !mMenuFlag;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.search_menu_toolbar, menu);
mSearch = menu.findItem(R.id.action_search);
mSearchView = (SearchView) mSearch.getActionView();
mSearchView.setQueryHint("Search");
mSearch.setOnActionExpandListener(new MenuItem.OnActionExpandListener() {
@Override
public boolean onMenuItemActionExpand(MenuItem menuItem) {
Toast.makeText(getApplicationContext(),"EXPAND",Toast.LENGTH_SHORT).show();
return true;
}
@Override
public boolean onMenuItemActionCollapse(MenuItem menuItem) {
Toast.makeText(getApplicationContext(),"COLLAPSE",Toast.LENGTH_SHORT).show();
return true;
}
});
return super.onCreateOptionsMenu(menu);
}
}