Android:单击搜索时,ActionBar图标和导航下拉菜单之间的边距会发生变化

JMR*_*ies 6 android android-actionbar

我有以下设置:

在发布时

因此,您可以单击操作栏的搜索图标以转到搜索栏.很标准:

搜索

因此,如果您已完成搜索,可以单击"主页"图标以使该栏消失:

回复

但是当你回去时,导航下拉菜单会向右移动很多:

错误!

我无法弄清楚这里发生了什么.我做的第一件事是创建一个全新的应用程序并重新创建它(这是你在下面看到的),以确保它不是我在主应用程序中使用的样式或主题的问题.这没有帮助解决问题.我正在使用ActionBarSherlock,所以我接下来要做的是使用Google的官方Action Bar API重建项目.这也没有什么不同.

有没有人有任何想法?我会提供你认为可以帮助的任何代码,但我从Google的文档中直接了解了它.谢谢!

编辑:添加一些带有布局边框的前后图像(4.1+中的开发选项功能)

之前:

好

后:

坏

我还包括菜单XML:

<?xml version="1.0" encoding="utf-8"?>
Run Code Online (Sandbox Code Playgroud)

<item android:id="@+id/abm_search"
    android:icon="@android:drawable/ic_menu_search"
    android:showAsAction="always|collapseActionView"
    android:actionViewClass="android.widget.SearchView" />

<item android:id="@+id/abm_location"
    android:title="Stuff"
    android:showAsAction="never" />

<item android:id="@+id/abm_radius"
    android:title="More Stuff"
    android:showAsAction="never" />

<item android:id="@+id/abm_settings"
    android:title="Other Stuff"
    android:showAsAction="never"/>
Run Code Online (Sandbox Code Playgroud)

JMR*_*ies 3

发现问题了。我给操作栏起了一个标题“”。相反,如果您为操作栏提供了此显示选项:

actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_HOME);

它解决了问题。希望这对其他人有帮助。