关于toolbar的沉浸式使用

       关于material design是谷歌2014年I/O大会推出的,过去两年才慢慢被开发者接受,最近也是看到很多app有很多酷炫效果,经过百般查询资料才对material design有了一个新的认识,现在话不多说我们进入主题,首先我们先来学习ToolBar,替换之前的ActionBar,相对于ActionBar它更加的灵活可以放在任何位置,现在我们来看看如何使用:

我们先来看看这个关系词:


第一种实现方法

1.首先你先去掉原来的actionbar

关于toolbar的沉浸式使用_第1张图片

2.考虑到这是谷歌5.0才推出来的,为了给低版本(4.4以上做适配)

关于toolbar的沉浸式使用_第2张图片

3.这时候你会发现整个toolbar这种情况

关于toolbar的沉浸式使用_第3张图片

为了解决这个情况这个问题我们必须在toolbar里加入

关于toolbar的沉浸式使用_第4张图片

#在真是开发中华为的手机底部一般都是使用的虚拟键,如果需要透明状态栏效果,底部导航栏不要设置透明,就是if里面的第二行代码(导航栏  底部)删除即可;

第二种方法:

更改样式方法:

第一步同样需要设置样式:

[html]  view plain  copy
 
  1. <style name="BaseAppTheme" parent="Theme.AppCompat.Light.NoActionBar">  
  2.           
  3.         <item name="colorPrimary">@color/transparenceitem>                
  4.         <item name="colorPrimaryDark">@color/transparenceitem>            
  5.         <item name="colorAccent">@color/colorAccentitem>                  
  6.         <item name="android:windowTranslucentStatus">trueitem>            
  7. style>  
第二步同样是在清单文件中给activity设置theme即可:

[html]  view plain  copy
 
  1. <activity android:name=".MainActivity"  
  2.     android:theme="@style/BaseAppTheme"/>  


因为5.0支持的是变色状态栏,所以如果想兼容android5.0以上版本需要在activity的onCreate方法中加入以下代码:

[java]  view plain  copy
 
  1. if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {  
  2.     Window window = getWindow();  
  3.     window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);  
  4.     window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);  
  5.     window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);  
  6.     window.setStatusBarColor(Color.TRANSPARENT);  
  7. }  

以上是根据更改样式的方式实现透明状态栏效果



你可能感兴趣的:(Android5.x)