【问题标题】:Keeping the Holo Action Bar in Lollipop在 Lollipop 中保留 Holo 操作栏
【发布时间】:2014-12-10 07:18:08
【问题描述】:

有什么方法可以强制应用在 Lollipop 设备中显示 Holo Action Bar?

我的主题目前继承自 Holo.Light,但我看到了新的操作栏。 Youtube 应用会这样做,但我相信它使用的是旧版本的 AppCompat 库。

有什么建议吗?

【问题讨论】:

  • 新的 appcompat 只做 Material。 Holo 主题已弃用。
  • 您可以控制新工具栏,您可以根据需要为其设置主题。

标签: android android-5.0-lollipop


【解决方案1】:

有什么方法可以强制应用在 Lollipop 设备中显示 Holo Action Bar?

使用Theme.Holo 或其附属主题之一,直接或作为继承主题。

我的主题目前继承自 Holo.Light,但我看到了新的操作栏

首先,here is a sample project 直接在其清单中使用 Theme.Holo.Light.DarkActionBar

<application
    android:allowBackup="false"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.Holo.Light.DarkActionBar"
    android:uiOptions="splitActionBarWhenNarrow">

在运行 Android 5.0 的 Nexus 4 上运行时的结果显示 Holo 样式的操作栏,甚至显示现已弃用的拆分操作栏模式:

Here is a sample app 指的是自定义主题:

<application
    android:allowBackup="false"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/Theme.Apptheme">

自定义主题从 Theme.Holo 继承并修改操作栏,由 Jeff Gilfelt 的 Action Bar Style Generator 提供:

<style name="Theme.Apptheme" parent="@android:style/Theme.Holo">
    <item name="android:actionBarItemBackground">@drawable/selectable_background_apptheme</item>
    <item name="android:popupMenuStyle">@style/PopupMenu.Apptheme</item>
    <item name="android:dropDownListViewStyle">@style/DropDownListView.Apptheme</item>
    <item name="android:actionBarTabStyle">@style/ActionBarTabStyle.Apptheme</item>
    <item name="android:actionDropDownStyle">@style/DropDownNav.Apptheme</item>
    <item name="android:actionBarStyle">@style/ActionBar.Solid.Apptheme</item>
    <item name="android:actionModeBackground">@drawable/cab_background_top_apptheme</item>
    <item name="android:actionModeSplitBackground">@drawable/cab_background_bottom_apptheme</item>
    <item name="android:actionModeCloseButtonStyle">@style/ActionButton.CloseMode.Apptheme</item>
</style>

在运行 Android 5.0 的 Nexus 4 上运行的结果显示样式化操作栏:

如果您可以提供一个可重现的测试用例来演示基于 Theme.Holo 的应用提供 Material-ish 外观(这是我对“新操作栏”的解释),请将其上传到某个地方。

【讨论】:

  • 这是一个愚蠢的样式错误。我没有注意到从 values-20/styles.xml 中不正确的父级继承的样式:|
  • @CarlosPaulino:唷。你的问题吓了我一阵子。 :-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-02
  • 1970-01-01
相关资源
最近更新 更多