在Android 5.0之前更改状态栏颜色
我知道状态栏的颜色可以与动作栏的颜色相同。但是,在Android 5.0之前,我不知道如何实现这个功能。我在互联网上尝试了一些功能,但都不起作用。如果你知道答案,请告诉我。谢谢。使用库来实现此功能,其兼容性如下在Android 5.0之前更改状态栏颜色,android,Android,我知道状态栏的颜色可以与动作栏的颜色相同。但是,在Android 5.0之前,我不知道如何实现这个功能。我在互联网上尝试了一些功能,但都不起作用。如果你知道答案,请告诉我。谢谢。使用库来实现此功能,其兼容性如下 <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="19" /> 您可以使用或简单地复制下面的静态工厂方法,并在活动的onCreate(Bundle savedInstanceState)中调用它
<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="19" />
您可以使用或简单地复制下面的静态工厂方法,并在活动的onCreate(Bundle savedInstanceState)
中调用它:
@SuppressLint("NewApi")
public static void setStatusBarColor(Activity activity, int color) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
activity.getWindow().setStatusBarColor(color);
} else {
try {
ViewGroup decorViewGroup = (ViewGroup) activity.getWindow().getDecorView();
View statusBarView = new View(activity);
Resources res = activity.getResources();
int id = res.getIdentifier("status_bar_height", "dimen", "android");
LayoutParams params = new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
res.getDimensionPixelSize(id));
params.gravity = Gravity.TOP;
statusBarView.setLayoutParams(params);
statusBarView.setBackgroundColor(color);
decorViewGroup.addView(statusBarView);
} catch (Exception ignored) {
// status-bar color cannot be changed.
}
}
}