1.2.1系统状态栏低能模式和正常模式切换(夜间模式设置)
getSystemUiVisibilit() 返回值类型为int
View.SYSTEM_UI_FLAG_VISIBLE:显示状态栏,Activity不全屏显示(恢复到有状态栏的正常情况)。
View.SYSTEM_UI_FLAG_LOW_PROFILE:状态栏显示处于低能显示状态(low profile模式),状态栏上一些图标显示会被隐藏。
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.kmust.test123.MainActivity">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:onClick="onToggleClick" />
</RelativeLayout>
MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void onToggleClick (View v){
int currentVis = v.getSystemUiVisibility();//熄灯模式:调暗屏幕导航控件 返回值为整形
int newVis;
if((currentVis & View.SYSTEM_UI_FLAG_LOW_PROFILE)==View.SYSTEM_UI_FLAG_LOW_PROFILE)
{
newVis=View.SYSTEM_UI_FLAG_VISIBLE;//正常状态
}else {
newVis=View.SYSTEM_UI_FLAG_LOW_PROFILE;//低能显示状态
}
v.setSystemUiVisibility(newVis);
}
}
1.2.2隐藏导航栏控件
v.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
Android状态栏沉浸式模式实现全隐藏:https://blog.csdn.net/guolin_blog/article/details/51763825
View v = getWindow().getDecorView();
v.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
ActionBar actionBar = getSupportActionBar();
actionBar.hide();
1.2.3 全屏UI模式
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY);//需在 setContentView之前请求,Android将会隐藏作为全屏标识一部分的action bar
setContentView(R.layout.activity_main);
}
public void onToggleClick (View v){
v.setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE//标识,告诉系统Android改变窗口大小来 隐藏/显示系统元素时不要移动我们的布局
|
View.SYSTEM_UI_FLAG_FULLSCREEN//标识,隐藏系统状态栏。如果请求了ACTION_BAR_OVERLAY,同时会隐藏Action Bar
|
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);//标识,隐藏屏幕上所有控件
}
}
标题栏的影藏与显示:https://blog.csdn.net/liu149339750/article/details/12851143