2016-03-14 2 views
1

Как бы я мог использовать различные цвета панели инструментов/навигационной панели для различных действий. Я попытался создать две настраиваемые темы, но я просто не могу заставить их наследовать эти разные темы.Различные цвета панели инструментов для различных видов деятельности android

Acitivity 1 - В настоящее время синяя тема

Activity 2 - Хочет, чтобы это иметь серую тему.

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.andrewfinlay.vectorcalculator"> 

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

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name=".SettingsActivity" 
      android:label="@string/title_activity_settings" 
      android:launchMode="singleTask" 
      android:theme="@style/AppTheme.NoActionBar"></activity> 
     <activity 
      android:name=".AboutActivity" 
      android:label="@string/title_activity_about" 
      android:launchMode="singleTask" 
      android:theme="@style/AppTheme.NoActionBar"></activity> 
     <activity 
      android:name=".ThemeActivity" 
      android:label="@string/title_activity_theme" 
      android:theme="@style/AppTheme.NoActionBar"></activity> 
    </application> 

</manifest> 

ответ

1

Изменить тему в манифесте желание деятельности, так что это будет выглядеть примерно так:

<activity 
     android:name=".activities.YourActivity" 
     android:theme="@style/YourGrayTheme" /> 
0

В AndroidManifest где вы добавляете активность, вы можете также указать тему деятельности. Если у вас уже есть собственные темы, это так же просто, как добавление

android:theme="@style/MyBlueTheme" и android:theme="@style/MyGreyTheme"

+0

В 'AndroidManifest' он говорит' андроида: тема = "@ стиль/AppTheme.NoActionBar"> ' Но все равно оказывается синим. – Sectah

+0

Так что AppTheme.NoActionBar, вероятно, не имеет значений для панели действий, как предполагает ее название. В этом случае он, вероятно, возвращается к теме вашего приложения. Можете ли вы разместить содержимое своего AndroidManifest? – Chris

+0

Обновлено сообщение – Sectah

0

Вы можете создать свой собственный theme, который включает в себя только цвет. Затем вы сможете установить все свойства, необходимые для этой темы, тем самым изменив цвет.

0

ли вы пробовали это в onCreate.

setTheme(R.style.YourAppTheme); 

Вы можете создать множество тем в вашем res/values/styles.xml

Один пример:

<style name="YourAppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
    <item name="android:windowTranslucentStatus">true</item> 
    <item name="android:windowTranslucentNavigation">true</item> 
    <item name="colorPrimary">@color/ColorPrimary</item> 
    <item name="colorPrimaryDark">@color/ColorPrimaryDark</item> 
    <item name="android:colorAccent">@color/ColorPrimary</item> 
    <item name="android:statusBarColor">@color/ColorPrimary</item> 
    <!-- you can customize your theme here. --> 
</style> 
Смежные вопросы