Android fragment中动态改变状态栏颜色的代码
时间: 2024-04-27 10:22:39 浏览: 101
在 Android Fragment 中动态改变状态栏颜色,您可以使用以下代码:
```java
// 改变状态栏颜色
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Window window = getActivity().getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(newColor);
}
```
其中,`newColor` 是您要设置的状态栏颜色值,可以是一个颜色值,也可以是一个颜色资源 ID。
需要注意的是,该代码需要在 Fragment 所在的 Activity 中设置 `android:fitsSystemWindows="true"` 属性,如下所示:
```xml
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:orientation="vertical">
<!-- Fragment 的容器 -->
<FrameLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
```
这样就可以在 Android Fragment 中动态改变状态栏颜色了。
阅读全文