×

记:Android 修改状态栏为透明

96
爱吃板栗的小女孩
2016.11.29 17:11* 字数 367
示例.png

看到了状态栏为透明,并且可以轮播图控制,所以在度娘里学习了一下。

一.改变状态栏为透明:
结构图.png

项目结构见上图,主要就操作的value和manifest文件。所以其他没有贴。下面开始一步一步操作

1.在res中新建两个文件夹:values-v19,values-v21.
2.在values-v19文件夹中新建styles文件,写:
<style name="ImageTranslucentTheme" parent="Theme.AppCompat.Light.DarkActionBar">    
<item name="android:windowTranslucentStatus">true</item>    
<item name="android:windowTranslucentNavigation">true</item>
</style>
3.在values-v21文件夹中新建styles文件,写上:
<style name="ImageTranslucentTheme" parent="Theme.AppCompat.Light.DarkActionBar">    
<item name="android:windowTranslucentStatus">false</item>   
 <item name="android:windowTranslucentNavigation">true</item>    
<!--Android 5.x开始需要把颜色设置透明,否则导航栏会呈现系统默认的浅灰色-->    
<item name="android:statusBarColor">@android:color/transparent
</item>
</style>
4.在values文件的styles文件,避免4.4的手机出现bug,写上:
<style name="ImageTranslucentTheme" parent="AppTheme">   
 <!--在Android 4.4之前的版本上运行,直接跟随系统主题-->
</style>
5.在manifest注册文件中,需要修改加入这个效果的activity中,写上:
android:theme="@style/ImageTranslucentTheme"
6.进入需要修改的activity的布局文件中,修改根布局的背景,并加上
android:fitsSystemWindows="true"
7.试一下可以看到状态栏部分就变成透明的了。

</br>


</br>

二.如何把轮播图内嵌进来,修改轮播图即可修改顶部状态栏?
1.这里我使用的是开源库ConvenientBanner,具体使用方法和正常相同,只是在自定义的 LocalImageHolderView中,修改,即可
自定义viewholder.png
2.运行就好使啦!!!!

</br>

注意:若在运行期间,发现上面浮现了一条黑色框,上面文字是项目名字,修改MainActivity extends Activity,就可以了。

</br>


期待和你共同成为进步路上的小伙伴❀

Android积累
Web note ad 1