我使用Android Studio创建了一个项目,其中包含使用ListView和导航抽屉模板的活动,我的目标是API 14+,我正在测试Galaxy Note 3 Kitkat - 下面代码的结果是"Nothing"动作栏颜色是黑色(非常深灰色),不是我想要的蓝色.
在build.gradle文件中
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'}
Run Code Online (Sandbox Code Playgroud)
在AndroidManifest.xml中
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
Run Code Online (Sandbox Code Playgroud)
在Styles.xml(我有AppTheme)
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat">
<item name="android:activatedBackgroundIndicator">@drawable/drawer_list_selector</item>
<item name="android:actionBarStyle">@style/MyActionBar</item>
</style>
<!-- ActionBar styles -->
<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
<item name="android:background">@drawable/blue_action_bar_color</item>
</style>
Run Code Online (Sandbox Code Playgroud)
在blue_action_bar_color.xml中
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/action_bar"/>
</shape>
Run Code Online (Sandbox Code Playgroud)
在colors.xml中
<color name="action_bar">#3b5b98</color>
Run Code Online (Sandbox Code Playgroud)
那我在这里错过了什么?
EDIT1:
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
Run Code Online (Sandbox Code Playgroud)
EDIT2:
我不能用
<style name="AppTheme" parent="android:Theme.Holo.Light">
Run Code Online (Sandbox Code Playgroud)
当我的应用程序崩溃时出现错误消息
Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
Run Code Online (Sandbox Code Playgroud)
你要扩展的ActionBarActivity是AppCompat包装和实现 Widget.Holo.Light.ActionBar风格.很明显你会得到那个错误.所以做一件事只是稍微更新你的风格如下:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimaryDark">@color/primaryDarkColorActionBar</item>
<item name="colorPrimary">@color/primaryColorActionBar</item>
</style>
Run Code Online (Sandbox Code Playgroud)
此外,ActionBarActivity在最新的appcompat更新中已弃用,即22.1.1.所以更好地使用AppCompatActivity.
| 归档时间: |
|
| 查看次数: |
11269 次 |
| 最近记录: |