android - 在工具栏中从一侧到另一侧动画搜索 View 图标

标签 android animation toolbar searchview

当点击工具栏中的搜索图标时,它会立即出现在另一侧(取消搜索也是如此)。是否可以动画它的移动?如果可以,怎么做?

最佳答案

注意:这与 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/

相关文章:

ios - 如何在不依赖大量约束引用和样板代码的情况下使用自动布局为 View 定义动画?

jquery - Webkit CSS 动画跳转问题

android - 如何在Android工具栏上显示项目图标

android - 向WebView授予摄像头和音频权限?

android - 是否可以在没有分析部分的情况下使用 Firebase Cloud Messaging Android 通知?

android - 如何为单元测试选择正确的调度程序

android - 需要 Android 中主页按钮的帮助

animation - 单击 SVG "animate"的一系列图像

android - 对于 Android,我可以将设置按钮放在选项卡栏而不是工具栏吗?

android - 工具栏箭头在 NavigationDrawer 的 PreferenceFragment 中不起作用