首页 > 学院 > 开发设计 > 正文

沉浸式模式

2019-11-09 15:46:34
字体:
来源:转载
供稿:网友
沉浸式模式使用情况:基本上可以说只有当你在做游戏,小说或者视频类的APP才会使用到沉浸式模式。表现:默认的情况下不会显示状态栏和底部的导航栏,当用户在屏幕上像某个方向滑动时才会显示,此时界面上的各个控件的大小不受影响,过一段时间后没有任何操作的话,状态栏和导航栏又会再次隐藏。区分:沉浸式模式和全屏的区分就是全屏点击屏幕后会自动退出全屏模式实现方法:重写下面的代码(只有在安卓4.4及以上才支持)@Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); if (hasFocus && Build.VERSION.SDK_INT >= 19) { 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_STICKY); } }伪沉浸式: 状态栏会先显示,后隐藏this.requestWindowFeature(Window.FEATURE_NO_TITLE);getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);直接全屏显示android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 透明状态栏super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);if (Build.VERSION.SDK_INT >= 21) { View decorView = getWindow().getDecorView(); int option = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE; decorView.setSystemUiVisibility(option); getWindow().setStatusBarColor(Color.TRANSPARENT);}ActionBar actionBar = getSupportActionBar();actionBar.hide();透明导航栏if (Build.VERSION.SDK_INT >= 21) { View decorView = getWindow().getDecorView(); int option = View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE; decorView.setSystemUiVisibility(option); getWindow().setNavigationBarColor(Color.TRANSPARENT); getWindow().setStatusBarColor(Color.TRANSPARENT);}ActionBar actionBar = getSupportActionBar();actionBar.hide();
上一篇:集成百度地图记录

下一篇:GridViewAdapter

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表