沉浸式和状态栏的隐藏
来源:互联网 发布:手机淘宝内部优惠券 编辑:程序博客网 时间:2024/05/16 08:10
沉浸式
首先手机从上往下分为:状态栏、ActionBar、导航栏。
首先隐藏ActionBar是最简单的,我们就先实现它吧:
在想要隐藏的Activity里加上下面两行代码就可以隐藏标题了
- ActionBar action= getSupportActionBar();
- action.hide();
例如:public class ShowActivity extends AppCompatActivity implements Iview{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_show); //隐藏标题 ActionBar actionBar = getSupportActionBar(); actionBar.hide(); }}
接下来就隐藏状态栏:
- View decorView=getWindow().getDecorView();
- int option=View.SYSTEM_UI_FLAG_FULLSCREEN;
- decorView.setSystemUiVisibility(option);
有些朋友不隐藏状态栏,而是要使状态栏透明,首先需要注意的是只有5.0及以上系统才支持,因此这里需要先进行if判断:
- if (Build.VERSION.SDK_INT>=21) {
- View decorView=getWindow().getDecorView();
- int option=View.SYSTEM_UI_FLAG_FULLSCREEN
- | View.SYSTEM_UI_FLAG_LAYOUT_STABLE;
- decorView.setSystemUiVisibility(option);
- getWindow().setStatusBarColor(Color.TRANSPARENT);//变成透明色
- }
接下来我们就隐藏导航栏:
- View decorView=getWindow().getDecorView();
- int option=View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
- decorView.setSystemUiVisibility(option);
透明导航栏:
- if (Build.VERSION.SDK_INT>=21) {
- View decorView=getWindow().getDecorView();
- int option=View.SYSTEM_UI_FLAG_LAYOUT_STABLE
- | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
- decorView.setSystemUiVisibility(option);
- getWindow().setNavigationBarColor(Color.TRANSPARENT);
- }
当你完全想实现沉浸式模式时,也就是全部隐藏,那么只需要重写Activity的onWindowFocusChanged()方法:
- @Override
- public void onWindowFocusChanged(boolean hasFocus) {
- super.onWindowFocusChanged(hasFocus);
- if (hasFocus&&Build.VERSION.SDK_INT>=19){
- View decorView=getWindow().getDecorView();
- int option=View.SYSTEM_UI_FLAG_LAYOUT_STABLE
- | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
- |View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
- |View.SYSTEM_UI_FLAG_FULLSCREEN
- |View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
- | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
- decorView.setSystemUiVisibility(option);
- }
- }
最后可以设置横屏模式:
- <activity android:name=".MainActivity"
- 只需要加这一行代码就可以
- android:screenOrientation="landscape"
- >
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- </activity>
阅读全文
0 0
- 沉浸式和状态栏的隐藏
- android 隐藏状态栏和修改状态栏的背景颜色(沉浸式状态栏)
- Android动态显示和隐藏状态栏/实现沉浸式状态栏
- Android关于全屏设置和隐藏状态栏、沉浸式状态栏的总结
- Android 实现沉浸式状态,以及状态栏的隐藏和显示
- android虚拟按键和状态栏的问题 沉浸式状态栏
- 透明状态栏和沉浸式
- 漫谈透明状态栏和沉浸式状态栏
- 沉浸式状态栏的实现;
- 沉浸式状态栏的实现
- 沉浸式状态栏的实现
- 沉浸式状态栏的使用
- 沉浸式状态栏的实现
- 沉浸式状态栏的实现
- 沉浸式状态栏的设置
- 真正的沉浸式状态栏
- 沉浸式状态栏的实现
- 沉浸式状态栏的实现
- leetcode
- 稀疏矩阵的快速转置
- 新建文本文档 (4)
- 在linux发布javaweb项目
- web 交互规范
- 沉浸式和状态栏的隐藏
- 打开网页自动重定向跳转到天猫(注意,这种情况不是网站劫持),原理和解决办法
- STM32串口第一个字节丢失问题的分析过程
- bindservice无法调用onServiceConnection()
- 【XML笔记】XML入门_XML文档的创建
- Java多线程系列(十)—Semaphore源码分析
- 20171023批处理
- HttpClient News
- Android Programming The Big Nerd Ranch Guide,Second Edition第十六章使用相机Intent部分的改进