【Android UI】状态栏和toolbar颜色一致

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

1、在style.xml中定义toolbar的颜色

 

[html] view plain copy

 print?

  1.   
  2.   
  3.       
  4.       
  5.           
  6.           
  7.         #4876FF  
  8.         true  
  9.       
  10.   
  11.       
  12.   
  13.   


2、布局文件添加属性

 

 

[plain] view plain copy

 print?

  1. android:fitsSystemWindows="true"  
  2. android:clipToPadding="true"  


3、在Activity的onCreate(Bundle savedInstanceState)方法中添加代码

 

 

[java] view plain copy

 print?

  1. @Override  
  2. protected void onCreate(Bundle savedInstanceState) {  
  3.     super.onCreate(savedInstanceState);  
  4.   
  5.     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {  
  6.         Window window = getWindow();  
  7.         window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS  
  8.                 | WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);  
  9.         window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN  
  10.                 | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION  
  11.                 | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);  
  12.         window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);  
  13.         //获取样式中的属性值  
  14.         TypedValue typedValue = new TypedValue();  
  15.         this.getTheme().resolveAttribute(android.R.attr.colorPrimary, typedValue, true);  
  16.         int[] attribute = new int[] { android.R.attr.colorPrimary };  
  17.         TypedArray array = this.obtainStyledAttributes(typedValue.resourceId, attribute);  
  18.         int color = array.getColor(0, Color.TRANSPARENT);  
  19.         array.recycle();  
  20.   
  21.         window.setStatusBarColor(color);  
  22.     }  
  23.   
  24.     setContentView(R.layout.activity_main);  
  25.   
  26. }  

 

 

转载于:https://my.oschina.net/u/1177694/blog/1093975

你可能感兴趣的:(【Android UI】状态栏和toolbar颜色一致)