沉浸式

   在res里的values里的styles里加入一行代码

[html]  view plain  copy
  1. <resources>  
  2.   
  3.       
  4.     <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">  
  5.           
  6.         <item name="colorPrimary">@color/colorPrimaryitem>  
  7.         <item name="colorPrimaryDark">@color/colorPrimaryDarkitem>  
  8.         <item name="colorAccent">@color/colorAccentitem>  
  9.           
  10.         <item name="android:windowTranslucentStatus">trueitem>  
  11.   
  12.     style>  
  13.   
  14. resources>  
 创建一个类
[html]  view plain  copy
  1.    
  2. import android.app.ActionBar;//导包时不要导错了  
  3. import android.graphics.Color;  
  4. import android.os.Build;  
  5. import android.view.View;  
  6. import android.view.Window;  
  7.   
  8. /**  
  9.  *  沉浸式  
  10.  */  
  11.   
  12. public class ChengjinshiCode {  
  13.   
  14.       private static ChengjinshiCode chengjinshiCode;  
  15.     // 构造函数私有化  
  16.     public ChengjinshiCode() {  
  17.     }  
  18.     public static ChengjinshiCode getInstance() {  
  19.   
  20.         if (chengjinshiCode == null) {  
  21.             // 加锁提高使用效率  
  22.             synchronized (ChengjinshiCode.class) {  
  23.                 if (chengjinshiCode == null) {  
  24.                     chengjinshiCode = new ChengjinshiCode();  
  25.                 }  
  26.             }  
  27.         }  
  28.         return chengjinshiCode;  
  29.   
  30.     }  
  31.   
  32.     /***  
  33.      * 状态栏透明化  
  34.      * @param window    Window对象  
  35.      * @param actionBar ActionBar对象  
  36.      * ActionBar导包时不要导错了,要导:import android.app.ActionBar  
  37.      */  
  38.     public void Immersive(Window window, ActionBar actionBar) {  
  39.   
  40.         if (Build.VERSION.SDK_INT >= 21) {  
  41.   
  42.             View view = window.getDecorView();  
  43.             // TODO: 2017/4/13 两个FLAG一起使用表示会让应用的主体内容占用系统状态栏的时空间  
  44.             int option = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE;  
  45.             view.setSystemUiVisibility(option);  
  46.             // 将状态栏设置成透明色  
  47.             window.setStatusBarColor(Color.TRANSPARENT);  
  48.   
  49.         }  
  50.      }  
  51. }  

然后在Activity里引入

[html]  view plain  copy
  1. import android.os.Bundle;  
  2. import android.support.v7.app.ActionBar;  
  3. import android.support.v7.app.AppCompatActivity;  
  4.   
  5. public class MainActivity extends AppCompatActivity {  
  6.    
  7.     @Override  
  8.     protected void onCreate(Bundle savedInstanceState) {  
  9.         super.onCreate(savedInstanceState);  
  10.         setContentView(R.layout.activity_main);  
  11.   
  12.           //沉浸式  
  13.         ChengjinshiCode.getInstance().Immersive(getWindow(),getActionBar());  
  14.          //隐藏标题栏  
  15.         ActionBar actionBar=getSupportActionBar();  
  16.         actionBar.hide();  
  17.       
  18.   }  
  19. }  




你可能感兴趣的:(沉浸式)