实现自定义主题的Android问题

时间:2013-09-12 06:07:03

标签: android themes

我的android项目

AndoidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.myfirstapp"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="11"
        android:targetSdkVersion="17" />

    <application
        android:allowBackup="true"
        android:debuggable="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/CustomActionBarTheme" >
        <activity
            android:name="com.example.myfirstapp.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity 
            android:name="com.example.myfirstapp.DisplayMessageActivity"
            android:label="@string/title_activity_display_message"
            android:parentActivityName="com.example.myfirstapp.MainActivity" >
         <meta-data 
             android:name="android.support.PARENT_ACTIVITY"
             android:value="com.example.myfirstapp.MainActivity" /> 
        </activity>
    </application>


</manifest>

当我尝试在res\values\themes.xml

下实施自定义主题时
<?xml version="1.0" encoding="utf-8"?>
<resources>
      <!-- the theme applied to the application or activity -->
      <style name="CustomActionBarTheme"  
          parent="@style/Theme.Holo.Light.DarkActionBar">
       <item name="android:actionBarStyle">@style/MyActionBar</item> 
       </style>      <!-- ActionBar styles -->

       <style name="MyActionBar"            
           parent="@style/Widget.Holo.Light.ActionBar.Solid.Inverse">
       <item name="android:background">@drawable/actionbar_background</item>
       </style>  
</resources>

我正在指定错误指定

Error retrieving parent for item: No resource found that matches the given name '@style/Theme.Holo.Light.DarkActionBar'.Error retrieving parent for item: No resource found that matches the given name '@style/ Widget.Holo.Light.ActionBar.Solid.Inverse'.

3 个答案:

答案 0 :(得分:6)

你必须在样式之前写android:,即@android:style/Theme.Holo.Light.DarkActionBar

答案 1 :(得分:2)

他们没有包含所有使用文件的示例,或者他们如何制作文件或需要创建文件的示例。

除此之外,他们忘记了@android的使用,他们没有提到必须在res / drawable /下创建像actionbar_background.xml这样的文件,或者在res /下创建themes.xml值/

他们似乎使用以下方式创建了样式(对于指南中的图片):
http://jgilfelt.github.io/android-actionbarstylegenerator/

文件自生成如下:
http://developer.android.com/guide/topics/resources/drawable-resource.html

他们在本章的其余部分做了同样的事情。当你是新手时,指南很混乱。

从提出的问题来看,我认为他们已经在Android开发人员那里使用了guide

答案 2 :(得分:0)

您可以将themes.xml添加到styles.xml