2015-07-08 1 views
1

Я использую тему в моем приложении, чтобы установить colorPrimary, но colorPrimaryDark является отображение только на mainActivity Я не понимаю, почему.ColorPrimaryDark тему андроида оленья кожа дисплей во всех видах деятельности

Manifest:

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme"> 
    <activity 
     android:name=".views.MainActivity" 
     android:label="@string/app_name" 
     android:launchMode="singleTop"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

    <activity 
     android:name=".views.AddActivity" 
     android:label="@string/title_activity_add" 
     android:parentActivityName=".views.MainActivity" /> 

и тема:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
    <item name="colorPrimary">@color/color_primary</item> 
    <item name="colorPrimaryDark">@color/color_primary_dark</item> 
    <item name="colorAccent">#ff0000</item> 
</style> 

Все мои действия распространяется AppCompatActivity.

EDIT: Даже когда я использую setTheme в своей деятельности colorPirmaryDark havn't effect ... Может быть, проблема в MainActivity, потому что я использую ящик ???

макет XML MainActivity:

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/drawer_layout" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:elevation="@dimen/navigation_elevation" 
android:fitsSystemWindows="true" 
tools:context=".MainActivity"/> 

EDIT 2: Рендеринг в Android Studio Display colorPrimaryDark ...

+0

Вы можете явно вызвать 'setTheme (R.style.AppTheme)' в 'onCreate()' для всех действий, если вы хотите – ecle

+0

Да, я могу, но лучше сделать это только один раз .... – Timo

ответ

0

Я не думаю, что colorPrimary, colorPrimaryDark и colorAccent может иметь альфа-канал. Убедитесь, что вы определили эти цвета как #RRGGBB (не #AARRGGBB). Проверьте, работает ли он. Кроме того, theme-v21 должен быть theme. То, что я в своих проектах, если это поможет вам:

values/styles.xml 

<resources> 
    <style name="AppTheme" parent="AppTheme.Base"/> 

    <style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar"> 
     <item name="colorPrimary">@color/primary</item> 
     <item name="colorPrimaryDark">@color/primary_dark</item> 
     <item name="colorAccent">@color/accent</item> 
    </style> 
</resources> 


values-v21/styles.xml 

<resources> 
    <style name="AppTheme" parent="AppTheme.Base"> 
     <!-- Your style items for Lollipop --> 
    </style> 
</resources> 

В Android Studio, вы должны увидеть небольшой квадрат с цветом в левой панели. Наконец, лучше определить свои цвета в values/colors.xml

+0

Thanx для вашего ответа. Я забыл альфа-канал ...; ^^ У меня есть тема-v21 и тема, чтобы делать что-то другое, но оба они одинаковы для этой части. Я пытаюсь решить эту проблему: /. Я не понимаю, почему цвет отображается на mainActivity, но не на другой активности ..... – Timo