我试图将颜色/图像作为android studio(),max sdk ver 21中操作栏的背景,但没有成功。以下代码有什么问题,或者怎么做:
<resources>
<style name="CustomActionBarTheme" parent="Theme.AppCompat.Light">
<item name="android:actionBarStyle">@style/MyActionBar</item>
</style>
<!-- ActionBar styles -->
<style name="MyActionBar" parent="Widget.AppCompat.Light.ActionBar">
<item name="android:background">@drawable/back</item>
</style>
</resources>
答案 0 :(得分:1)
如果您在android lollipop操作栏中遇到问题,那么首先您需要将res文件夹中的不同style.xml文件命名为values-v21。 在此创建style.xml中,如在值文件夹中。
您没有正确添加父主题。你应该创建其父级是style2的style1。在style2 parent中添加所需的主题,如parent="@android:style/ThemeOverlay.Material.Light"
。
在menifest中添加style1作为应用程序主题。
看看例子。
此处为操作栏 colorPrimary ,
应用程序外的通知栏colorPrimaryDark ,
colorAccent 用于本机对话框,例如进度条,标签等。
<resources>
<style name="AppBaseTheme" parent="@android:style/ThemeOverlay.Material.Light">
<item name="android:colorPrimary">@color/material_blue_500</item>
<!-- darker variant for the status bar and contextual app bars -->
<item name="android:colorPrimaryDark">@color/material_blue_700</item>
<!-- theme UI controls like checkboxes and text fields -->
<item name="android:colorAccent">@color/material_green_A200</item>
</style>
<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
</style>
</resources>
你的xml文件应该是这样的
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="info.androidhive.slidingmenu"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="21" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="info.androidhive.slidingmenu.MainActivity"
android:label="@string/app_name"
android:configChanges="orientation|keyboardHidden" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
答案 1 :(得分:0)
如果您还没有,请记住在AndroidManifest.xml
中引用您的主题:
android:theme="@style/CustomActionBarTheme"
此外,请确保在Java代码中,当您使用AppCompat支持库时,您的活动扩展ActionBarActivity
而不仅仅Activity
。
如果这一切无效,请转到build.gradle
并检查dependencies
部分中是否有:
compile 'com.android.support:appcompat-v7:21.0.3'