【问题标题】:Set Status Bar Color in nativescript在 nativescript 中设置状态栏颜色
【发布时间】:2020-06-24 08:20:45
【问题描述】:

我在这里尝试遵循此代码示例:https://www.youtube.com/watch?v=NroxMDGOJ_E 但它不再起作用,至少更改状态栏颜色部分。 page.androidStatusBarBackground 属性不再起作用。有没有可靠的方法来使用nativescript核心改变android中状态栏的背景颜色?

【问题讨论】:

    标签: android nativescript statusbar


    【解决方案1】:

    很简单

    • 转至App_Resources\Android\src\main\res\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:statusBarColor">@color/ns_primaryDark</item>
            <item name="android:windowLightStatusBar">true</item>
    
            <item name="android:windowActionBarOverlay">true</item>
            <item name="android:windowTranslucentStatus">true</item>
    
        </style>
    

    重要的是android:statusBarColor & android:windowLightStatusBar

    注意: 它应该可以正常工作,您最好删除 platformsnode_modules 文件夹并重新运行 tns run android。它会完美地工作

    【讨论】:

    • 感谢您的回复,但这只会设置一次全局颜色。如果我希望每个页面都有自己的颜色怎么办?或者,也许我可以将颜色设置为半透明或无颜色。我该怎么做?
    • @jessiPP 我不知道每一页。但我已经回答了关于透明度的问题。你必须通过 android Docs 中的每个属性。请参阅此直接回答stackoverflow.com/a/29311321/13074527
    • @jessiPP 以编程方式更改,var window : Window = window window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS) window.statusBarColor = Color.GREEN 使用它您可以更改每个页面的颜色。这仅适用于安卓
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-06
    • 2016-03-30
    • 1970-01-01
    • 2016-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多