在Honeycomb及更高版本上使用没有Holo主题的ActionBarSherlock

时间:2012-08-15 10:12:37

标签: android android-3.0-honeycomb android-4.0-ice-cream-sandwich actionbarsherlock android-theme

我正在构建一款能够在Android 2.1及更高版本上运行的Android应用。 minSdkVersion设置为 7 targetSdkVersion设置为 14 。为了拥有ActionBar功能,我正在使用ActionBarSherlock库并根据需要将应用程序的主题设置为Theme.Sherlock(等)的衍生物。

除了提供ActionBar之外,我注意到当我在Honeycomb / ICS设备上运行应用程序时,其他一些小部件和对话框现在具有不同的(即Holo)外观。我希望有一个ActionBar,但保持正常的非Holo Android主题 - Holo样式与应用程序的其余部分不太匹配。特别是EditText视图看起来有很大不同。

我看到ActionBarSherlock在 values-11 (Honeycomb)和 values-14 (ICS)中定义了一些自定义主题,它继承自 Theme.Holo < / em>的。 values-14 中还有自定义样式,它们将ABS样式映射到本机样式(因为本机ActionBar用于ICS +)。

我发现至少我必须做以下事情:

  1. 禁用 values-11 values-14 的自定义主题 - 这会停止显示Holo小部件/对话框。

  2. 禁止使用ActionBar for ICS +的本机实现 - 这会停止ICS上的崩溃,因为它依赖于作为Holo主题的一部分提供的本机ActionBar。这需要修改库。

  3. 禁用 values-14 的自定义样式 - 这与兼容性ActionBar的外观/样式相混淆。

  4. 我不确定是否还有其他问题我错过了。有没有人找到一个很好的方法来使用非Holo Android主题与ActionBarSherlock,而无需修改库?在ICS及以上版本中使用兼容性ActionBar是否有任何问题?

0 个答案:

没有答案