更改android栏的颜色

更改android栏的颜色,android,nativescript,nativescript-angular,Android,Nativescript,Nativescript Angular,我已经用Nativescript Angular创建了一个应用程序,但如果我在Android中显示了所有正在运行的应用程序,则该栏始终为白色。有人知道我如何定制它吗?比如说Gmail或者Playstore上的。如果我能在应用程序中根据用户选择的主题动态调整它,或者它总是占据动作栏的颜色,那将是最好的 编辑: 我发现了如何在colors.xml文件中硬编码color->change ns_primary 但我没能让ActionBar的颜色被采用。我认为ActionBar的颜色会被我的一个xml文

我已经用Nativescript Angular创建了一个应用程序,但如果我在Android中显示了所有正在运行的应用程序,则该栏始终为白色。有人知道我如何定制它吗?比如说Gmail或者Playstore上的。如果我能在应用程序中根据用户选择的主题动态调整它,或者它总是占据动作栏的颜色,那将是最好的

编辑:

我发现了如何在colors.xml文件中硬编码color->change ns_primary

但我没能让ActionBar的颜色被采用。我认为ActionBar的颜色会被我的一个xml文件覆盖,但我不知道如何防止它。你知道我必须在我的文件中更改什么才能实现这一点吗

AndroidManifest.xml


styles.xml


@样式/本机脚本工具栏样式
@颜色/原色
@颜色/原色暗
@颜色/口音
@可拉伸/飞溅屏幕
真的
真的
@样式/本机脚本工具栏样式
@颜色/原色
@颜色/原色暗
@颜色/口音
@颜色/原色
@style/ThemeOverlay.AppCompat.ActionBar
@style/ThemeOverlay.AppCompat

colors.xml

<resources>
<color name="ns_primary">#c66900</color>
<color name="ns_primaryDark">#c66900</color>
<color name="ns_mainbg">#E5E5E8</color>
<color name="ns_accent">#33B5E5</color>
<color name="ns_blue">#2196F3</color>
<color name="ns_transparent">#00000000</color>
<color name="ns_white">#FFFFFF</color>


<color name="ns_color_accent_custom">#4CAF50</color>
<color name="ns_color_primary_custom">#CDDC39</color>
<color name="ns_color_primary_secondary">#AFB42B</color>

#F5F5F5
#757575
#33B5E5
#272734

您可以在App\u resources->values中定义主题

<style name="LaunchScreenThemeBase" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="toolbarStyle">@style/NativeScriptToolbarStyle</item>
    <item name="colorPrimary">@color/ns_primary</item>
    <item name="colorPrimaryDark">@color/ns_primaryDark</item>
    <item name="colorAccent">@color/ns_accent</item>
    <item name="android:windowBackground">@drawable/splash_screen</item>
    <item name="android:windowActionBarOverlay">true</item>

</style>
<style name="LaunchScreenTheme" parent="LaunchScreenThemeBase"></style>
<!-- theme to use AFTER launch screen is loaded-->
<style name="AppThemeBase" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="toolbarStyle">@style/NativeScriptToolbarStyle</item>
    <item name="colorPrimary">@color/ns_primary</item>
    <item name="colorPrimaryDark">@color/ns_primaryDark</item>
    <item name="colorAccent">@color/ns_accent</item>
    <item name="android:windowDrawsSystemBarBackgrounds">true</item>
    <item name="android:fitsSystemWindows">false</item>
</style>

@样式/本机脚本工具栏样式
@颜色/原色
@颜色/原色暗
@颜色/口音
@可拉伸/飞溅屏幕
真的
@样式/本机脚本工具栏样式
@颜色/原色
@颜色/原色暗
@颜色/口音
真的
假的
您可以在App_resources->values->colors.xml中定义这些颜色

<resources>
<color name="ns_primary">#c66900</color>
<color name="ns_primaryDark">#c66900</color>
<color name="ns_mainbg">#E5E5E8</color>
<color name="ns_accent">#33B5E5</color>
<color name="ns_blue">#2196F3</color>
<color name="ns_transparent">#00000000</color>
<color name="ns_white">#FFFFFF</color>


<color name="ns_color_accent_custom">#4CAF50</color>
<color name="ns_color_primary_custom">#CDDC39</color>
<color name="ns_color_primary_secondary">#AFB42B</color>

#c66900
#c66900
#E5E8
#33B5E5
#2196F3
#00000000
#FFFFFF
#4CAF50
#CDDC39
#AFB42B

您可以在App\u resources->values中的
styles.xml
中定义主题

<style name="LaunchScreenThemeBase" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="toolbarStyle">@style/NativeScriptToolbarStyle</item>
    <item name="colorPrimary">@color/ns_primary</item>
    <item name="colorPrimaryDark">@color/ns_primaryDark</item>
    <item name="colorAccent">@color/ns_accent</item>
    <item name="android:windowBackground">@drawable/splash_screen</item>
    <item name="android:windowActionBarOverlay">true</item>

</style>
<style name="LaunchScreenTheme" parent="LaunchScreenThemeBase"></style>
<!-- theme to use AFTER launch screen is loaded-->
<style name="AppThemeBase" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="toolbarStyle">@style/NativeScriptToolbarStyle</item>
    <item name="colorPrimary">@color/ns_primary</item>
    <item name="colorPrimaryDark">@color/ns_primaryDark</item>
    <item name="colorAccent">@color/ns_accent</item>
    <item name="android:windowDrawsSystemBarBackgrounds">true</item>
    <item name="android:fitsSystemWindows">false</item>
</style>

@样式/本机脚本工具栏样式
@颜色/原色
@颜色/原色暗
@颜色/口音
@可拉伸/飞溅屏幕
真的
@样式/本机脚本工具栏样式
@颜色/原色
@颜色/原色暗
@颜色/口音
真的
假的
您可以在App_resources->values->colors.xml中定义这些颜色

<resources>
<color name="ns_primary">#c66900</color>
<color name="ns_primaryDark">#c66900</color>
<color name="ns_mainbg">#E5E5E8</color>
<color name="ns_accent">#33B5E5</color>
<color name="ns_blue">#2196F3</color>
<color name="ns_transparent">#00000000</color>
<color name="ns_white">#FFFFFF</color>


<color name="ns_color_accent_custom">#4CAF50</color>
<color name="ns_color_primary_custom">#CDDC39</color>
<color name="ns_color_primary_secondary">#AFB42B</color>

#c66900
#c66900
#E5E8
#33B5E5
#2196F3
#00000000
#FFFFFF
#4CAF50
#CDDC39
#AFB42B

您只需在
ActionBar
上设置
backgroundColor
color
属性即可

<ActionBar title="ActionBar Style" color="white" backgroundColor="red">  
</ActionBar>
您可能还对和插件感兴趣,它一起帮助您在运行时动态更改主题,这将帮助您提供用户选择的主题


虽然您仍然可以通过从
App\u resources/Android/src/main/res
修改
style.xml
/
colors.xml
来更改颜色。但这是Android特有的,应用程序中的所有页面都是静态的。

您只需在
操作栏上设置
backgroundColor
color
属性即可

<ActionBar title="ActionBar Style" color="white" backgroundColor="red">  
</ActionBar>
您可能还对和插件感兴趣,它一起帮助您在运行时动态更改主题,这将帮助您提供用户选择的主题


虽然您仍然可以通过从
App\u resources/Android/src/main/res
修改
style.xml
/
colors.xml
来更改颜色。但这是Android特有的,应用程序中的所有页面都是静态的。

如果您想动态更改,则可以使用:


window.statusBarColor=ContextCompat.getColor(applicationContext,R.color.colorPrimary)

如果要动态更改,可以使用:

window.statusBarColor=ContextCompat.getColor(applicationContext,R.color.colorPrimary)