android中的状态栏

xiaoxiao2021-02-27  295

一、全屏,不显示状态栏

方法一,在manifest文件中 <activity android:name="com.ysj.demo.MainActivity" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> 方法二,在代码中设置 注意在setContentView之前调用 // 隐藏标题栏 requestWindowFeature(Window.FEATURE_NO_TITLE); // 隐藏状态栏 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 在activity的布局文件的根节点设置android:fitsSystemWindows="true",是为系统的view留出空间,状态栏会在activity布局上方(相当于顺序排列),设置为false,状态栏会覆盖在activity上(相当于顶部对齐)。 设置FLAG_FULLSCREEN,就是设置不显示状态栏,如果显示,根据fitsSystemWindows设置显示位置。

二、动态显示和隐藏状态栏

//显示系统状态栏 private void showStatusBar() { View decorView = getWindow().getDecorView(); decorView.setSystemUiVisibility( View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION//隐藏状态栏的布局 | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN//内容布局填满屏幕 ); } //隐藏系统状态栏 private void hideStatusBar() { View decorView = getWindow().getDecorView(); decorView.setSystemUiVisibility( View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION//隐藏状态栏的布局 | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN//内容布局填满屏幕 | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION//隐藏状态栏 | View.SYSTEM_UI_FLAG_FULLSCREEN//内容全屏展示 | View.SYSTEM_UI_FLAG_IMMERSIVE ); }

三、设置状态栏颜色

转载请注明原文地址: https://www.6miu.com/read-1871.html

最新回复(0)