step1:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"><!--设置为NoActionBar-->
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="AppTheme.Main" parent="AppTheme">
<item name="android:windowTranslucentStatus">true</item> <!--设置状态栏透明-->
</style>
step2:
应用AppTheme.Main 主题
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme.Main">
做完这两步效果如下:
可以看到状态栏已经透明了,但是出现了布局重叠的情况
step3:
布局文件中添加:
android:fitsSystemWindows="true"
完成后效果如下:
可以看到,其实上述方法并没有全透明,因为在5.X之后会自动呈现半透明的灰色,需要自动设置statusBar的颜色:
<style name="AppTheme.Main" parent="AppTheme">
<item name="android:windowTranslucentStatus">false</item>
<item name="android:windowTranslucentNavigation">true</item>
<item name="android:statusBarColor">#00ffffff</item>
</style>
最终效果: