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