在Lollipop中保留Holo操作栏

3

有没有办法在Lollipop设备上强制应用显示Holo动作栏?

我的主题目前继承自Holo.Light,但我看到了新的动作栏。Youtube应用程序可以做到这一点,但我认为它使用的是旧版本的AppCompat库。

有任何建议吗?


新的AppCompat只支持Material主题,Holo主题已经被弃用。 - alanv
您可以控制新工具栏,将其主题化为您所希望的样式。 - Kosh
1个回答

2
有没有办法强制应用在Lollipop设备上显示Holo操作栏?
使用Theme.Holo或其子主题之一,直接或作为继承的主题。
“我的主题当前是从Holo.Light继承的,但我看到了新的操作栏。”
首先,这里有一个使用Theme.Holo.Light.DarkActionBar直接在清单中的示例项目:here is a sample project
<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 风格的操作栏,甚至显示了现已弃用的拆分操作栏模式。

ShareNative sample app, as initially run

这里有一个示例应用程序(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 上,结果显示了样式化的操作栏:

HoloColor demo, as initially run

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

这是一个愚蠢的样式错误。我没有注意到在values-20/styles.xml中继承了一个错误的父级样式 :| - Carlos Paulino
@CarlosPaulino:哇,你的问题吓了我一跳。 :-) - CommonsWare

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接