2015-07-29 7 views
2

AndroidManifest.xmlActionBar обыкновение менять цвет для Theme.AppCompat.Light

<application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/Theme.AppCompat" > 
     <activity 
      android:name=".MainActivity" 
      android:label="@string/cb_campaign" 
      android:logo="@mipmap/ic_launcher" 
      android:theme="@style/MyTheme"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 

styles.xml

<resources> 
     <style name="MyTheme" parent="@android:style/Theme.AppCompat.Light"> 
      <item name="android:actionBarStyle">@style/MyActionBar</item> 
     </style> 

     <style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar"> 
      <item name="android:background">#FFCA09</item> 
     </style> 
    </resources> 

MainActivity.java

public class MainActivity extends AppCompatActivity{ 
} 

screenshot Edit: Оригинальный вопрос было: Как решить ошибку Android: java.lang.IllegalStateEx ception: Вы должны использовать Theme.AppCompat

Измененный AndroidManifest.xml

<style name="MyTheme" parent="@style/Theme.AppCompat.Light"> 

Но фон действия цвет по-прежнему не изменится.

+0

Используется 'родитель =«@ стиль/Theme.AppCompat»' –

+0

Где я должен поместить его? @MD – woninana

+0

вместо 'parent =" @ android: style/Theme.Holo.Light' –

ответ

0

Просто включите дизайн, затем нажмите кнопку AppTheme и просто измените тему.

все.

0

Вы можете узнать какую-то материальную конструкцию здесь cheesesquare

0

Вы должны опустить «андроид:» использовать назад совместимые атрибуты:

<resources> 
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
     <item name="android:actionBarStyle">@style/MyActionBar</item> 
     <!--Backwards compatibility--> 
     <item name="actionBarStyle">@style/MyActionBar</item> 
    </style> 

    <style name="MyActionBar" parent="Widget.AppCompat.Light.ActionBar"> 
     <item name="android:background">@color/red</item> 
     <!--Backwards compatibility--> 
     <item name="background">@color/red</item> 
    </style> 
    <color name="red">#FF0000</color> 
</resources> 
+0

все еще не меняется цвет ... – woninana

+0

@woninana вы уверены, что используете приложение AppTheme в своем манифесте? – Simas

+0

приложение android: theme = "@ style/Theme.AppCompat" – woninana

0

Ссылку на ресурс стиля определяющей тему по умолчанию для всех видов деятельности в приложении. Индивидуальные действия могут переопределять значение по умолчанию, устанавливая собственные атрибуты темы. Для получения дополнительной информации см. Руководство разработчика стилей и тем.

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/Theme.AppCompat"> 
    <activity 
     android:name=".MainActivity" 
     android:label="@string/cb_campaign" 
     android:logo="@mipmap/ic_launcher" 
     android:theme="@style/MyTheme"> 

андроид: тема = "@ стиль/Theme.AppCompat" в <application> тег и нужно применить тему. одно предложение лучше, чтобы пойти с материальной конструкцией stackoverflow link

Смежные вопросы