Gingerbread上的ActionBarCompat填满整个屏幕

时间:2013-07-29 19:20:01

标签: android actionbarsherlock android-2.3-gingerbread android-actionbar-compat

所以我们已成功从Zappos应用程序中剥离ActionBarSherlock以支持新的ActionBarCompat,它在Honeycomb +上运行良好,但在Gingerbread上,操作栏扩展以填满整个屏幕,我无法弄清楚它为什么会发生。我们基本上只是将ActionBarSherlock的所有主题/样式/引用更改为ActionBarCompat中的等价物。以下是该问题的屏幕截图。其他任何人在GB上运行这个并知道修复?它为我们提供了一个版本:\

6 个答案:

答案 0 :(得分:5)

好吧,所以我最终弄清楚了......我们已经将appcompat源代码复制为库项目,而不是使用gradle中的com.android.support:appcompat-v7:18.0.+依赖项。切换到gradle中的依赖项并从我们的项目中删除appcompat源后,它现在按预期工作。

答案 1 :(得分:0)

以下是问题的答案:http://gmariotti.blogspot.com.br/

只是添加了这个:

dependencies {
compile 'com.android.support:appcompat-v7:18.0.+'
}

答案 2 :(得分:0)

我遇到类似的问题,当我从使用ActionBar AppCombat使用ActionBarSherlock时,操作栏填满了整个屏幕。在value-v11文件夹style.xml文件中。我必须删除从ActionBar appCombat继承的ActionBar Style。

答案 3 :(得分:0)

我也有这个问题。问题是我对姜饼的主题定义指向了一种不存在的风格。

我在values/themes.xml

中有这个
<item name="actionBarStyle">@style/mytheme_solid_ActionBar</item>

但此mytheme_solid_ActionBar仅在values-v11/styles.xmlvalues-v14/styles.xml中定义。

我只需将其添加到values/styles.xml,这样Gingerbread设备就会为操作栏定义一个合适的样式(继承自Widget.AppCompat.Light.ActionBar.Solid.Inverse)。

答案 4 :(得分:0)

我的问题是我的自定义actionBarStyle继承的父级。

<style name="AppTheme" parent="AppBaseTheme">
    <item name="actionBarStyle">@style/sfActionBar</item>
    <item name="android:actionBarStyle">@style/sfActionBar</item>
</style>

我的自定义样式最初是:

<style name="sfActionBar" parent="Widget.Sherlock.ActionBar">...</style>
除了Gingerbread之外,让它在除了姜饼之外的所有事情上的改变是:

<style name="sfActionBar" parent="@android:style/Widget.ActionBar">...</style>

正确的修改:

<style name="sfActionBar" parent="@style/Widget.AppCompat.ActionBar">...</style>

答案 5 :(得分:0)

一旦我遇到类似的问题(工具栏的颜色填满了Gingerbread的整个屏幕),解决方案就是从工具栏的父视图中删除android:clipChildren="false"