如何更改android状态栏的背景颜色

Yug*_*abu 19 android statusbar

我想通过编写应用程序来更改状态栏的背景颜色.我的Android设备有黑色,我想将其改为其他颜色.我在这里看到了一些与之相关的帖子,但是他们正在讲述通知背景.

如果有人知道这个,请帮助我.

默认状态栏

在此输入图像描述

使用drawable作为状态栏的背景

在此输入图像描述

Fab*_*ook 13

抱歉,除非您正在制作自定义ROM,否则这是不可能的,除非您只想为您的应用更改状态栏.

这需要大量的工作.

首先,您需要将Theme.NoTitleBar.Fullscreen添加到清单中

<application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" 
        android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
        >
Run Code Online (Sandbox Code Playgroud)

然后,一旦你完成了,你需要创建一个代表状态栏的标准布局,这意味着你必须添加时间,并且还接收来自其他应用程序的所有通知,我个人不知道该怎么做但是我确信有办法.

如果你真的想要做这个好运,那你就很难过.


对不起,除非你知道如何构建自定义ROMS,我不认为这是可能的


Rav*_*t D 12

这可以在Kitkat和之后进行.

如果你想在一个应用程序中使用它(就像你问的那样),你可以使用这个库https://github.com/jgilfelt/SystemBarTint

你只需要写:

// set a custom tint color for all system bars
tintManager.setTintColor(Color.parseColor("#99000FF"));   
// set a custom navigation bar resource
tintManager.setNavigationBarTintResource(R.drawable.my_tint);
// set a custom status bar drawable
tintManager.setStatusBarTintDrawable(MyDrawable);
Run Code Online (Sandbox Code Playgroud)


Gau*_*ngh 9

在styles.xml中执行以下操作:

<resources>
    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light">
        <item name="colorPrimary">@color/color_primary</item>
        <item name="colorPrimaryDark">@color/color_secondary</item>
        <item name="colorAccent">@color/color_accent</item>
         <!---Below is the code for status bar color------>
        <item name="android:statusBarColor">@color/color_primary</item>
    </style>
</resources>
Run Code Online (Sandbox Code Playgroud)

将它放在您的values-v21/styles.xml中,以便在Lollipop及更高版本上启用它.

为此,以编程方式执行此操作:

Window window = activity.getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
window.setStatusBarColor(activity.getResources().getColor(R.color.example_color));
Run Code Online (Sandbox Code Playgroud)