将操作栏添加到默认主题
Adding Action bar to Default Theme
我正在尝试向我的应用程序添加操作栏。下面是我当前应用程序 UI 的屏幕截图。
我使用的是默认主题,因此不会显示操作栏。所以我正在使用带有操作栏的主题。当我使用主题时,我的 UI 变得一团糟。日期选择器改变了它的风格。下面是一个例子,操作栏是如何显示的。
下面是包含操作栏项目的 xml 代码。
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/action_search"
android:title="Search"
android:showAsAction="always|withText"/>
<!-- Refresh -->
<item android:id="@+id/action_refresh"
android:title="Refresh"
android:showAsAction="ifRoom" />
<!-- Help -->
<item android:id="@+id/action_help"
android:title="Help"
android:showAsAction="never"/>
<!-- Check for updates -->
<item android:id="@+id/action_check_updates"
android:title="Check for Updates"
android:showAsAction="never" />
</menu>
下面是我在应用程序中使用的主题,使操作栏可见。
android:theme="@android:style/Theme.Holo.Light.DarkActionBar"
是否可以将操作栏添加到我的默认主题中?
谢谢。
这是因为您使用的是 Theme.Holo.Light
,这给您提供了浅色背景。您可以尝试 @android:style/Theme.Material
,如 [此处(https://developer.android.com/training/material/theme.html) 所示,但这需要 Api 21。否则您可以尝试:
<style name="CustomDarkTheme" parent="@android:style/Theme.Holo">
<item name="android:actionBarStyle">@android:style/Widget.Holo.ActionBar.Solid</item>
</style>
我正在尝试向我的应用程序添加操作栏。下面是我当前应用程序 UI 的屏幕截图。
我使用的是默认主题,因此不会显示操作栏。所以我正在使用带有操作栏的主题。当我使用主题时,我的 UI 变得一团糟。日期选择器改变了它的风格。下面是一个例子,操作栏是如何显示的。
下面是包含操作栏项目的 xml 代码。
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/action_search"
android:title="Search"
android:showAsAction="always|withText"/>
<!-- Refresh -->
<item android:id="@+id/action_refresh"
android:title="Refresh"
android:showAsAction="ifRoom" />
<!-- Help -->
<item android:id="@+id/action_help"
android:title="Help"
android:showAsAction="never"/>
<!-- Check for updates -->
<item android:id="@+id/action_check_updates"
android:title="Check for Updates"
android:showAsAction="never" />
</menu>
下面是我在应用程序中使用的主题,使操作栏可见。
android:theme="@android:style/Theme.Holo.Light.DarkActionBar"
是否可以将操作栏添加到我的默认主题中?
谢谢。
这是因为您使用的是 Theme.Holo.Light
,这给您提供了浅色背景。您可以尝试 @android:style/Theme.Material
,如 [此处(https://developer.android.com/training/material/theme.html) 所示,但这需要 Api 21。否则您可以尝试:
<style name="CustomDarkTheme" parent="@android:style/Theme.Holo">
<item name="android:actionBarStyle">@android:style/Widget.Holo.ActionBar.Solid</item>
</style>