我有一个使用操作栏的应用程序
styles.xml
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<!--
Base application theme, dependent on API level. This theme is replaced
by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
-->
<style name="AppBaseTheme" parent="android:Theme.Light">
<!--
Theme customizations available in newer API levels can go in
res/values-vXX/styles.xml, while customizations related to
backward-compatibility can go here.
-->
</style>
<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
</style>
<color name="custom_theme_color">#ffa900</color>
<style name="CustomTheme" parent="android:Theme.Light">
<item name="android:windowBackground">@color/custom_theme_color</item>
<item name="android:colorBackground">@color/custom_theme_color</item>
</style>
</resources>
清单
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.actionbar"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/CustomTheme" >
<activity
android:name="com.example.actionbar.ActionBarActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
我的问题是,最初默认情况下是使用Theme.Light并显示操作栏,但是当我使用parent作为Theme.Light定制主题时它不起作用但是如果我使用parent作为Theme.Holo然后它适用于自定义主题。任何想法的人。
答案 0 :(得分:0)
这就是我所做的。它对我来说非常合适。在Res-&gt; value-&gt;样式
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- the theme applied to the application or activity -->
<style name="CustomTheme"
parent="@style/Theme.Light">
<item android:name="actionBarStyle">@style/MyActionBar</item>
</style>
<!-- ActionBar styles -->
<style android:name="MyActionBar"
parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item android:name="background">@drawable/actionbar_background</item>
</style>
</resources>
然后在drawable文件夹中(如果你没有,则创建一个),创建一个新的xml actionbar_background并将下面的代码粘贴到其中。
<?xml version="1.0" encoding="utf-8"?>
<bitmap android:tileMode="repeat"
android:src="@drawable/ab_texture_tile_example"
xmlns:android="http://schemas.android.com/apk/res/android"/>
然后将自定义颜色放在其他可绘制文件夹中。这里ab_texture_title_example是我使用的背景颜色。