点击工具栏中的搜索 图标时,会立即显示在另一侧(取消搜索时相同)。是否有可能动画移动?如果是的话,该怎么做?
答案 0 :(得分:2)
注意:这与Android: animate searchview的答案相同。
有一种更简单的方法(事实上,只有两行代码)并且它没有错误。您需要做的就是像以前一样在onCreateOptionsMenu()方法中填充SearchView,但要避免设置转换的代码行,因为它们不再需要了。
接下来,覆盖onOptionsItemSelected(),如下所示:
@Override
public boolean onOptionsItemSelected(final MenuItem item) {
switch(item.getItemId()) {
case R.id.action_search:
TransitionManager.beginDelayedTransition((ViewGroup) getActivity().findViewById(R.id.toolbar));
MenuItemCompat.expandActionView(item);
return true;
}
return super.onOptionsItemSelected(item);
}
此代码准备转换并侦听工具栏布局中的更改。当SearchView出现时,动画开始。它使用与KitKat相同的API,但从ICS开始可用。在build.gradle中:
compile 'com.android.support:transition:24.2.1'
如果你不喜欢默认的,你也可以customize the transition。有许多转换可用,有些可以满足您的需求
答案 1 :(得分:1)