StatusBarUtil icon indicating copy to clipboard operation
StatusBarUtil copied to clipboard

为什么我设置dark 模式 toolBar 会陷入状态栏里 ?但是这个demo的就不会

Open lixiaokuan0819 opened this issue 7 years ago • 4 comments

@TargetApi(Build.VERSION_CODES.M) public static void setDarkMode(Activity activity) { setMIUIStatusBarDarkIcon(activity, false); setMeizuStatusBarDarkIcon(activity, false); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { activity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN); } }

lixiaokuan0819 avatar Oct 17 '18 07:10 lixiaokuan0819

根布局加上 android:fitsSystemWindows="true" 下面有人提问过了

zuoni1018 avatar Oct 18 '18 06:10 zuoni1018

根布局加上 android:fitsSystemWindows="true" 下面有人提问过了

作者demo里没有加 都不陷进去啊

lixiaokuan0819 avatar Oct 25 '18 13:10 lixiaokuan0819

如果在 setStatusBar() 方法里调用 setDarkMode() 就会出现这种布局全屏的情况,感觉这个跟 SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 有关,但也不是很明白,难道是 SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 只在界面还没显示时设置才会生效?而且还有一个疑问是为什么设置 mode 时,要同时设置 SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN

dozyx avatar Nov 14 '18 07:11 dozyx

同出现这个问题,页面太多,根布局加上 android:fitsSystemWindows="true",代价有点大。 可以参考: /** * Android6.0设置亮色状态栏模式 */ @TargetApi(Build.VERSION_CODES.M) private static void setLightStatusBarForM(@NonNull Activity activity, boolean dark) { Window window = activity.getWindow(); if (window != null) { View decor = window.getDecorView(); int ui = decor.getSystemUiVisibility(); if (dark) { ui |= View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR; } else { ui &= ~View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR; } decor.setSystemUiVisibility(ui); } }

VinPin avatar Dec 06 '18 01:12 VinPin