Android colorprimarydark仅适用于主活动,我应该如何处理它

Android colorprimarydark仅适用于主活动,我应该如何处理它,android,android-layout,Android,Android Layout,这是我的舱单 <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:supportsRtl="true" android:label="@string/app_name" android:theme="@style/AppTheme"> <service android:name="com.amap.api.locat

这是我的舱单

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:supportsRtl="true"
    android:label="@string/app_name"
    android:theme="@style/AppTheme">

    <service android:name="com.amap.api.location.APSService" />

    <activity
        android:name=".MainActivity"
        android:label=""/>
    <activity
        android:name=".QueryActivity"
        android:label="" />
    <activity
        android:name=".LoginActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".RegistActivity" />
    <activity
        android:name=".TaskListActivity"
        android:label="" />
    <activity
        android:name=".TaskWatcherActivity"
        android:label="" />
    <activity
        android:name=".DetailsActivity"
        android:label="" />

</application>

我已在样式中设置样式:

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="windowActionBar">false</item>
    <item name="android:windowNoTitle">true</item>
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>

    <item name="drawerArrowStyle">@style/DrawerArrowStyle</item>

    <item name="colorAccent">@color/colorAccent</item>

    <item name="colorControlNormal">@color/cpb_white</item>
</style>


<style name="DrawerArrowStyle" parent="Widget.AppCompat.DrawerArrowToggle">
    <item name="spinBars">true</item>
    <item name="color">@android:color/white</item>
</style>

<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />

<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />

假的
真的
@颜色/原色
@颜色/原色暗
@样式/抽屉箭头样式
@颜色/颜色重音
@颜色/cpb_白色
真的
@android:彩色/白色
&样式-v21:

<resources>

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="android:fitsSystemWindows">true</item>
    <item name="android:windowTranslucentNavigation">true</item>
    <item name="android:navigationBarColor">@android:color/transparent</item>

    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
    <item name="android:windowDrawsSystemBarBackgrounds">true</item>
    <item name="android:statusBarColor">@android:color/transparent</item>
    <item name="android:textSize">15sp</item>

    <item name="android:colorControlNormal">@color/cpb_white</item>

    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>

    <item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
</style>

真的
真的
@android:彩色/透明
假的
真的
真的
@android:彩色/透明
15便士
@颜色/cpb_白色
@颜色/原色
@颜色/原色暗
@样式/抽屉箭头样式

但只有主活动的状态栏是colorprimarydark,其他活动的状态栏是其布局背景的颜色。因此,我如何使colorprimarydark适用于每个活动的状态栏

非常简单和有用的库在每个活动中使用此库设置您的状态颜色。

尝试在每个活动中使用android:theme=“@style/AppTheme”


我想你解决了你的问题。

最后,我使用了着色库来解决问题,p.s.thasks到Jhaman Das


我发现statusBarColor的属性会覆盖colorpromarydark的效果,而drawlayout才是最理想的效果。愿意就此问题进行进一步讨论。

是否为所有活动扩展AppCompatActivity?我为某些活动扩展了AppCompatActivity,其他活动扩展了activity,但只有mainactivity workactivity android:name=“.mainactivity”android:label=”“android:theme=“@style/AppTheme”/>与此相同Bu我仍然只想设置一次,我不明白为什么只有主活动可以工作,可能是因为我在其中使用了抽屉布局?在清单文件中的每个活动标记中设置相同的主题谢谢,我正在学习使用它。但我想我已经在style-v21.xml中设置了[@android:color/transparent],所以我认为,如果所有状态栏都是透明的,这是正确的。因为当我更改它时,我可以更改除mainactivity之外的所有活动的颜色,mainactivity仍处于colorprimarydark@david这对你有帮助吗?我试过了,但没用。但是现在我认为style-v21.xml中的“@android:color/transparent”使所有活动的状态栏都是透明的,但是android studio自动生成的mainactivity中的drawlayout可以在状态栏的位置下绘制一个以colorprimarydark显示的视图,因此左侧导航可以设置在工具栏上方&以colorprimarydark显示,在subtranslucent状态栏下。但我不知道这是不是真的。。。