当点击工具栏中的搜索图标时,它会立即出现在另一侧(取消搜索也是如此)。是否可以动画它的移动?如果可以,怎么做?
最佳答案
注意:这与 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如果你不喜欢默认的。有许多可用的转换,其中一些肯定能满足您的需求
关于android - 在工具栏中从一侧到另一侧动画搜索 View 图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36346912/