0

I have AppTheme style in my styles.xml file. In manifest file i choose it like application theme. I want to login activity unique style and I created login style, and set it in manifest. But it is not working, LoginActivity still takes AppTheme.

<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:name=".application.TrainerApp"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:theme="@style/AppTheme"
        android:supportsRtl="true">
        <activity
            android:name=".activities.login.LoginActivity"
            android:theme="@style/LoginTheme"
            >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

In style.xml

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

    <style name="LoginTheme" parent="@style/AppTheme">
        <item name="android:windowTranslucentStatus">true</item>
        <item name="android:windowTranslucentNavigation">true</item>
        <item name="android:windowDrawsSystemBarBackgrounds" tools:targetApi="lollipop">true</item>
        <item name="android:statusBarColor" tools:targetApi="lollipop">@android:color/transparent</item>
    </style>

changing theme in design editor helped!!

Axbor Axrorov
  • 2,720
  • 2
  • 17
  • 35

2 Answers2

1

Try like this :-

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

    <style name="LoginTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="colorPrimary">#ff0</item>
        <item name="colorPrimaryDark">#0ff</item>
        <item name="colorAccent">#f0f</item>
        <item name="android:windowTranslucentStatus">true</item>
        <item name="android:windowTranslucentNavigation">true</item>
        <item name="android:windowDrawsSystemBarBackgrounds" tools:targetApi="lollipop">true</item>
        <item name="android:statusBarColor" tools:targetApi="lollipop">@android:color/transparent</item>
    </style>

Instead of :-

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

    <style name="LoginTheme" parent="@style/AppTheme">
        <item name="android:windowTranslucentStatus">true</item>
        <item name="android:windowTranslucentNavigation">true</item>
        <item name="android:windowDrawsSystemBarBackgrounds" tools:targetApi="lollipop">true</item>
        <item name="android:statusBarColor" tools:targetApi="lollipop">@android:color/transparent</item>
    </style>
Abhinav Gupta
  • 2,225
  • 1
  • 14
  • 30
0

Remove android:theme="@style/AppTheme" from your application tag and apply theme for each activity separately. For more detail, please see my link: http://androidkeeda.com/android-working-on-material-theme

Rob
  • 26,989
  • 16
  • 82
  • 98
Moin Khan
  • 674
  • 2
  • 9
  • 27