【问题标题】:android:theme parameter inside manifest ignored清单中的 android:theme 参数被忽略
【发布时间】:2018-04-04 06:48:02
【问题描述】:

我的 styles.xml 文件中有 AppTheme 样式。在清单文件中,我像应用程序主题一样选择它。 我想登录活动独特的样式,我创建了登录样式,并将其设置在清单中。但它不起作用,LoginActivity 仍然需要 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>

在 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>

【问题讨论】:

  • 在您的登录主题中使用不同的颜色
  • 我试过了。没有任何变化
  • 尝试在应用级别移除主题,并为添加到应用的每个活动指定一个主题。
  • 你能说明你是怎么申请的吗
  • 看看@MoinKhan 在下面做了什么。

标签: android android-xml android-styles android-studio-3.1


【解决方案1】:

试试这样:-

  <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>

而不是:-

<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>

【讨论】:

  • 感谢您的帮助,请更新您解决的答案...
  • @AxborAxrorov 这个更新的答案,但它与您的问题匹配
  • 看问题。并将您的答案更新为正确答案,以帮助他人
【解决方案2】:

从您的应用程序标签中删除android:theme="@style/AppTheme",并分别为每个活动应用主题。更多详情请看我的链接:http://androidkeeda.com/android-working-on-material-theme

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-13
    • 2011-02-25
    • 1970-01-01
    • 2019-06-09
    • 2020-02-18
    • 1970-01-01
    相关资源
    最近更新 更多