Skip to content

Commit 04d8b96

Browse files
committed
设置状态栏透明,支持白色背景
1 parent c8d7e48 commit 04d8b96

4 files changed

Lines changed: 26 additions & 14 deletions

File tree

demo/src/main/java/com/uis/stackview/demo/activity/MainActivity.java

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
11
package com.uis.stackview.demo.activity;
22

33
import android.content.Intent;
4+
import android.graphics.Color;
45
import android.net.Uri;
6+
import android.os.Build;
57
import android.os.Bundle;
68
import android.util.Log;
79
import android.view.LayoutInflater;
810
import android.view.View;
911
import android.view.ViewGroup;
12+
import android.view.Window;
13+
import android.view.WindowManager;
1014
import android.widget.Toast;
1115

1216
import com.facebook.common.logging.FLog;
@@ -23,7 +27,7 @@
2327
import androidx.appcompat.app.AppCompatActivity;
2428
import androidx.recyclerview.widget.LinearLayoutManager;
2529
import androidx.recyclerview.widget.RecyclerView;
26-
30+
import android.view.WindowManager;
2731
/**
2832
* Created by xmuSistone on 2017/5/12.
2933
*/
@@ -35,8 +39,25 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
3539

3640
@Override
3741
protected void onCreate(Bundle savedInstanceState) {
42+
if(Build.VERSION.SDK_INT >= 19){
43+
if(Build.VERSION.SDK_INT >= 23){
44+
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
45+
getWindow().setStatusBarColor(Color.TRANSPARENT);
46+
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
47+
//只有白色背景需加上此flag
48+
|View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
49+
);
50+
}else {
51+
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
52+
}
53+
}
54+
3855
super.onCreate(savedInstanceState);
3956
setContentView(R.layout.activity_main);
57+
if(Build.VERSION.SDK_INT >= 19){
58+
ViewGroup.LayoutParams params = findViewById(R.id.view).getLayoutParams();
59+
params.height = getResources().getDimensionPixelSize(R.dimen.status_height);
60+
}
4061
FLog.setMinimumLoggingLevel(FLog.VERBOSE);
4162
if(!Fresco.hasBeenInitialized()) {
4263
ImagePipelineConfig config = ImagePipelineConfig.newBuilder(getApplicationContext())

demo/src/main/res/layout/activity_main.xml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,10 @@
55
android:layout_height="match_parent"
66
android:background="#fff"
77
android:orientation="vertical">
8+
<View android:id="@+id/view"
9+
android:layout_width="match_parent"
10+
android:layout_height="0dp"/>
811
<include layout="@layout/stack_right"/>
9-
1012
<Button android:id="@+id/bt_web"
1113
android:layout_width="match_parent"
1214
android:layout_height="wrap_content"

demo/src/main/res/values-v23/styles.xml

Lines changed: 0 additions & 12 deletions
This file was deleted.

demo/src/main/res/values/dimens.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@
22
<!-- Default screen margins, per the Android Design guidelines. -->
33
<dimen name="activity_horizontal_margin">16dp</dimen>
44
<dimen name="activity_vertical_margin">16dp</dimen>
5+
<dimen name="status_height">24dp</dimen>
56
</resources>

0 commit comments

Comments
 (0)